Lines Matching refs:irq_data
40 desc->irq_data.chip = chip; in irq_set_chip()
86 desc->irq_data.handler_data = data; in irq_set_handler_data()
108 desc->irq_data.msi_desc = entry; in irq_set_msi_desc_off()
141 desc->irq_data.chip_data = data; in irq_set_chip_data()
147 struct irq_data *irq_get_irq_data(unsigned int irq) in irq_get_irq_data()
151 return desc ? &desc->irq_data : NULL; in irq_get_irq_data()
157 irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_clr_disabled()
162 irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_set_disabled()
167 irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_clr_masked()
172 irqd_set(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_set_masked()
182 irq_domain_activate_irq(&desc->irq_data); in irq_startup()
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()
190 check_irq_resend(desc, desc->irq_data.irq); 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()
204 irq_domain_deactivate_irq(&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()
291 chip->irq_eoi(&desc->irq_data); in unmask_threaded_irq()
294 chip->irq_unmask(&desc->irq_data); in unmask_threaded_irq()
321 if (unlikely(!action || irqd_irq_disabled(&desc->irq_data))) { in handle_nested_irq()
326 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_nested_irq()
334 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_nested_irq()
356 if (!irqd_has_set(&desc->irq_data, mask)) in irq_may_run()
396 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_simple_irq()
421 if (!irqd_irq_disabled(&desc->irq_data) && in cond_unmask_irq()
422 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) in cond_unmask_irq()
452 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_level_irq()
470 desc->preflow_handler(&desc->irq_data); in preflow_handler()
479 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
488 if (!irqd_irq_disabled(&desc->irq_data) && in cond_unmask_eoi_irq()
489 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) { in cond_unmask_eoi_irq()
490 chip->irq_eoi(&desc->irq_data); 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()
524 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_fasteoi_irq()
542 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_irq()
580 if (irqd_irq_disabled(&desc->irq_data) || !desc->action) { in handle_edge_irq()
589 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_edge_irq()
603 if (!irqd_irq_disabled(&desc->irq_data) && in handle_edge_irq()
604 irqd_irq_masked(&desc->irq_data)) in handle_edge_irq()
611 !irqd_irq_disabled(&desc->irq_data)); in handle_edge_irq()
644 if (irqd_irq_disabled(&desc->irq_data) || !desc->action) { in handle_edge_eoi_irq()
658 !irqd_irq_disabled(&desc->irq_data)); in handle_edge_eoi_irq()
661 chip->irq_eoi(&desc->irq_data); in handle_edge_eoi_irq()
681 chip->irq_ack(&desc->irq_data); in handle_percpu_irq()
686 chip->irq_eoi(&desc->irq_data); in handle_percpu_irq()
711 chip->irq_ack(&desc->irq_data); in handle_percpu_devid_irq()
718 chip->irq_eoi(&desc->irq_data); in handle_percpu_devid_irq()
734 struct irq_data *irq_data = &desc->irq_data; in __irq_set_handler() local
743 while (irq_data) { in __irq_set_handler()
744 if (irq_data->chip != &no_irq_chip) in __irq_set_handler()
754 irq_data = irq_data->parent_data; 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()
800 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU | in irq_modify_status()
803 irqd_set(&desc->irq_data, IRQD_NO_BALANCING); in irq_modify_status()
805 irqd_set(&desc->irq_data, IRQD_PER_CPU); in irq_modify_status()
807 irqd_set(&desc->irq_data, IRQD_MOVE_PCNTXT); in irq_modify_status()
809 irqd_set(&desc->irq_data, IRQD_LEVEL); in irq_modify_status()
811 irqd_set(&desc->irq_data, irq_settings_get_trigger_mask(desc)); in irq_modify_status()
837 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_online()
840 !irqd_irq_disabled(&desc->irq_data))) in irq_cpu_online()
841 chip->irq_cpu_online(&desc->irq_data); in irq_cpu_online()
867 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_offline()
870 !irqd_irq_disabled(&desc->irq_data))) in irq_cpu_offline()
871 chip->irq_cpu_offline(&desc->irq_data); in irq_cpu_offline()
882 void irq_chip_ack_parent(struct irq_data *data) in irq_chip_ack_parent()
892 void irq_chip_mask_parent(struct irq_data *data) in irq_chip_mask_parent()
902 void irq_chip_unmask_parent(struct irq_data *data) in irq_chip_unmask_parent()
912 void irq_chip_eoi_parent(struct irq_data *data) in irq_chip_eoi_parent()
926 int irq_chip_set_affinity_parent(struct irq_data *data, in irq_chip_set_affinity_parent()
943 int irq_chip_set_type_parent(struct irq_data *data, unsigned int type) in irq_chip_set_type_parent()
960 int irq_chip_retrigger_hierarchy(struct irq_data *data) in irq_chip_retrigger_hierarchy()
976 int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on) in irq_chip_set_wake_parent()
995 int irq_chip_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) in irq_chip_compose_msi_msg()
997 struct irq_data *pos = NULL; in irq_chip_compose_msi_msg()