Lines Matching refs:chip
43 int irq_set_chip(unsigned int irq, struct irq_chip *chip) in irq_set_chip() argument
51 if (!chip) in irq_set_chip()
52 chip = &no_irq_chip; in irq_set_chip()
54 desc->irq_data.chip = chip; in irq_set_chip()
197 if (desc->irq_data.chip->irq_startup) { in irq_startup()
198 ret = desc->irq_data.chip->irq_startup(&desc->irq_data); in irq_startup()
212 if (desc->irq_data.chip->irq_shutdown) in irq_shutdown()
213 desc->irq_data.chip->irq_shutdown(&desc->irq_data); in irq_shutdown()
214 else if (desc->irq_data.chip->irq_disable) in irq_shutdown()
215 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_shutdown()
217 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_shutdown()
225 if (desc->irq_data.chip->irq_enable) in irq_enable()
226 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_enable()
228 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_enable()
255 if (desc->irq_data.chip->irq_disable) { in irq_disable()
256 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_disable()
265 if (desc->irq_data.chip->irq_enable) in irq_percpu_enable()
266 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_percpu_enable()
268 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_percpu_enable()
274 if (desc->irq_data.chip->irq_disable) in irq_percpu_disable()
275 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_percpu_disable()
277 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_percpu_disable()
283 if (desc->irq_data.chip->irq_mask_ack) in mask_ack_irq()
284 desc->irq_data.chip->irq_mask_ack(&desc->irq_data); in mask_ack_irq()
286 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_ack_irq()
287 if (desc->irq_data.chip->irq_ack) in mask_ack_irq()
288 desc->irq_data.chip->irq_ack(&desc->irq_data); in mask_ack_irq()
295 if (desc->irq_data.chip->irq_mask) { in mask_irq()
296 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_irq()
303 if (desc->irq_data.chip->irq_unmask) { in unmask_irq()
304 desc->irq_data.chip->irq_unmask(&desc->irq_data); in unmask_irq()
311 struct irq_chip *chip = desc->irq_data.chip; in unmask_threaded_irq() local
313 if (chip->flags & IRQCHIP_EOI_THREADED) in unmask_threaded_irq()
314 chip->irq_eoi(&desc->irq_data); in unmask_threaded_irq()
316 if (chip->irq_unmask) { in unmask_threaded_irq()
317 chip->irq_unmask(&desc->irq_data); in unmask_threaded_irq()
495 static void cond_unmask_eoi_irq(struct irq_desc *desc, struct irq_chip *chip) in cond_unmask_eoi_irq() argument
498 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
509 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
511 } else if (!(chip->flags & IRQCHIP_EOI_THREADED)) { in cond_unmask_eoi_irq()
512 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
527 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_irq() local
553 cond_unmask_eoi_irq(desc, chip); in handle_fasteoi_irq()
558 if (!(chip->flags & IRQCHIP_EOI_IF_HANDLED)) in handle_fasteoi_irq()
559 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_irq()
604 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_edge_irq()
643 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_edge_eoi_irq() local
675 chip->irq_eoi(&desc->irq_data); in handle_edge_eoi_irq()
688 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_irq() local
692 if (chip->irq_ack) in handle_percpu_irq()
693 chip->irq_ack(&desc->irq_data); in handle_percpu_irq()
697 if (chip->irq_eoi) in handle_percpu_irq()
698 chip->irq_eoi(&desc->irq_data); in handle_percpu_irq()
714 struct irq_chip *chip = irq_desc_get_chip(desc); in handle_percpu_devid_irq() local
722 if (chip->irq_ack) in handle_percpu_devid_irq()
723 chip->irq_ack(&desc->irq_data); in handle_percpu_devid_irq()
729 if (chip->irq_eoi) in handle_percpu_devid_irq()
730 chip->irq_eoi(&desc->irq_data); in handle_percpu_devid_irq()
750 if (irq_data->chip != &no_irq_chip) in __irq_do_set_handler()
763 if (WARN_ON(!irq_data || irq_data->chip == &no_irq_chip)) in __irq_do_set_handler()
769 if (desc->irq_data.chip != &no_irq_chip) in __irq_do_set_handler()
821 irq_set_chip_and_handler_name(unsigned int irq, struct irq_chip *chip, in irq_set_chip_and_handler_name() argument
824 irq_set_chip(irq, chip); in irq_set_chip_and_handler_name()
864 struct irq_chip *chip; in irq_cpu_online() local
875 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_online()
876 if (chip && chip->irq_cpu_online && in irq_cpu_online()
877 (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) || in irq_cpu_online()
879 chip->irq_cpu_online(&desc->irq_data); in irq_cpu_online()
894 struct irq_chip *chip; in irq_cpu_offline() local
905 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_offline()
906 if (chip && chip->irq_cpu_offline && in irq_cpu_offline()
907 (!(chip->flags & IRQCHIP_ONOFFLINE_ENABLED) || in irq_cpu_offline()
909 chip->irq_cpu_offline(&desc->irq_data); in irq_cpu_offline()
924 if (data->chip->irq_enable) in irq_chip_enable_parent()
925 data->chip->irq_enable(data); in irq_chip_enable_parent()
927 data->chip->irq_unmask(data); in irq_chip_enable_parent()
938 if (data->chip->irq_disable) in irq_chip_disable_parent()
939 data->chip->irq_disable(data); in irq_chip_disable_parent()
941 data->chip->irq_mask(data); in irq_chip_disable_parent()
951 data->chip->irq_ack(data); in irq_chip_ack_parent()
961 data->chip->irq_mask(data); in irq_chip_mask_parent()
971 data->chip->irq_unmask(data); in irq_chip_unmask_parent()
981 data->chip->irq_eoi(data); in irq_chip_eoi_parent()
996 if (data->chip->irq_set_affinity) in irq_chip_set_affinity_parent()
997 return data->chip->irq_set_affinity(data, dest, force); in irq_chip_set_affinity_parent()
1013 if (data->chip->irq_set_type) in irq_chip_set_type_parent()
1014 return data->chip->irq_set_type(data, type); in irq_chip_set_type_parent()
1029 if (data->chip && data->chip->irq_retrigger) in irq_chip_retrigger_hierarchy()
1030 return data->chip->irq_retrigger(data); in irq_chip_retrigger_hierarchy()
1043 if (data->chip->irq_set_vcpu_affinity) in irq_chip_set_vcpu_affinity_parent()
1044 return data->chip->irq_set_vcpu_affinity(data, vcpu_info); in irq_chip_set_vcpu_affinity_parent()
1059 if (data->chip->irq_set_wake) in irq_chip_set_wake_parent()
1060 return data->chip->irq_set_wake(data, on); in irq_chip_set_wake_parent()
1082 if (data->chip && data->chip->irq_compose_msi_msg) in irq_chip_compose_msi_msg()
1087 pos->chip->irq_compose_msi_msg(pos, msg); in irq_chip_compose_msi_msg()