Lines Matching refs:chip
29 int irq_set_chip(unsigned int irq, struct irq_chip *chip) in irq_set_chip() argument
37 if (!chip) in irq_set_chip()
38 chip = &no_irq_chip; in irq_set_chip()
40 desc->irq_data.chip = chip; in irq_set_chip()
183 if (desc->irq_data.chip->irq_startup) { in irq_startup()
184 ret = desc->irq_data.chip->irq_startup(&desc->irq_data); in irq_startup()
198 if (desc->irq_data.chip->irq_shutdown) in irq_shutdown()
199 desc->irq_data.chip->irq_shutdown(&desc->irq_data); in irq_shutdown()
200 else if (desc->irq_data.chip->irq_disable) in irq_shutdown()
201 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_shutdown()
203 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_shutdown()
211 if (desc->irq_data.chip->irq_enable) in irq_enable()
212 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_enable()
214 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_enable()
234 if (desc->irq_data.chip->irq_disable) { in irq_disable()
235 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_disable()
242 if (desc->irq_data.chip->irq_enable) in irq_percpu_enable()
243 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_percpu_enable()
245 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_percpu_enable()
251 if (desc->irq_data.chip->irq_disable) in irq_percpu_disable()
252 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_percpu_disable()
254 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_percpu_disable()
260 if (desc->irq_data.chip->irq_mask_ack) in mask_ack_irq()
261 desc->irq_data.chip->irq_mask_ack(&desc->irq_data); in mask_ack_irq()
263 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_ack_irq()
264 if (desc->irq_data.chip->irq_ack) in mask_ack_irq()
265 desc->irq_data.chip->irq_ack(&desc->irq_data); in mask_ack_irq()
272 if (desc->irq_data.chip->irq_mask) { in mask_irq()
273 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_irq()
280 if (desc->irq_data.chip->irq_unmask) { in unmask_irq()
281 desc->irq_data.chip->irq_unmask(&desc->irq_data); in unmask_irq()
288 struct irq_chip *chip = desc->irq_data.chip; in unmask_threaded_irq() local
290 if (chip->flags & IRQCHIP_EOI_THREADED) in unmask_threaded_irq()
291 chip->irq_eoi(&desc->irq_data); in unmask_threaded_irq()
293 if (chip->irq_unmask) { in unmask_threaded_irq()
294 chip->irq_unmask(&desc->irq_data); in unmask_threaded_irq()
476 static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) in cond_unmask_eoi_irq() argument
479 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
490 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
492 } else if (!(chip->flags & IRQCHIP_EOI_THREADED)) { in cond_unmask_eoi_irq()
493 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
510 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_irq() local
536 cond_unmask_eoi_irq(desc, chip); in handle_fasteoi_irq()
541 if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED)) in handle_fasteoi_irq()
542 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_irq()
589 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_edge_irq()
629 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_edge_eoi_irq() local
661 chip->irq_eoi(&desc->irq_data); in handle_edge_eoi_irq()
676 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_irq() local
680 if (chip->irq_ack) in handle_percpu_irq()
681 chip->irq_ack(&desc->irq_data); in handle_percpu_irq()
685 if (chip->irq_eoi) in handle_percpu_irq()
686 chip->irq_eoi(&desc->irq_data); in handle_percpu_irq()
703 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_devid_irq() local
710 if (chip->irq_ack) in handle_percpu_devid_irq()
711 chip->irq_ack(&desc->irq_data); in handle_percpu_devid_irq()
717 if (chip->irq_eoi) in handle_percpu_devid_irq()
718 chip->irq_eoi(&desc->irq_data); in handle_percpu_devid_irq()
744 if (irq_data->chip != &no_irq_chip) in __irq_set_handler()
757 if (WARN_ON(!irq_data || irq_data->chip == &no_irq_chip)) in __irq_set_handler()
763 if (desc->irq_data.chip != &no_irq_chip) in __irq_set_handler()
783 irq_set_chip_and_handler_name(unsigned int irq, struct irq_chip *chip, in irq_set_chip_and_handler_name() argument
786 irq_set_chip(irq, chip); in irq_set_chip_and_handler_name()
826 struct irq_chip *chip; in irq_cpu_online() local
837 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_online()
838 if (chip && chip->irq_cpu_online && in irq_cpu_online()
839 (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) || in irq_cpu_online()
841 chip->irq_cpu_online(&desc->irq_data); in irq_cpu_online()
856 struct irq_chip *chip; in irq_cpu_offline() local
867 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_offline()
868 if (chip && chip->irq_cpu_offline && in irq_cpu_offline()
869 (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) || in irq_cpu_offline()
871 chip->irq_cpu_offline(&desc->irq_data); in irq_cpu_offline()
885 data->chip->irq_ack(data); in irq_chip_ack_parent()
895 data->chip->irq_mask(data); in irq_chip_mask_parent()
905 data->chip->irq_unmask(data); in irq_chip_unmask_parent()
915 data->chip->irq_eoi(data); in irq_chip_eoi_parent()
930 if (data->chip->irq_set_affinity) in irq_chip_set_affinity_parent()
931 return data->chip->irq_set_affinity(data, dest, force); in irq_chip_set_affinity_parent()
947 if (data->chip->irq_set_type) in irq_chip_set_type_parent()
948 return data->chip->irq_set_type(data, type); in irq_chip_set_type_parent()
963 if (data->chip && data->chip->irq_retrigger) in irq_chip_retrigger_hierarchy()
964 return data->chip->irq_retrigger(data); in irq_chip_retrigger_hierarchy()
979 if (data->chip->irq_set_wake) in irq_chip_set_wake_parent()
980 return data->chip->irq_set_wake(data, on); in irq_chip_set_wake_parent()
1002 if (data->chip && data->chip->irq_compose_msi_msg) in irq_chip_compose_msi_msg()
1007 pos->chip->irq_compose_msi_msg(pos, msg); in irq_chip_compose_msi_msg()