Lines Matching refs:irq_data
52 desc->irq_data.chip = chip; in irq_set_chip()
152 desc->irq_data.chip_data = data; in irq_set_chip_data()
158 struct irq_data *irq_get_irq_data(unsigned int irq) in irq_get_irq_data()
162 return desc ? &desc->irq_data : NULL; in irq_get_irq_data()
168 irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_clr_disabled()
173 irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_clr_masked()
178 irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_clr_started()
183 irqd_set(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_set_started()
196 struct irq_data *d = irq_desc_get_irq_data(desc); in __irq_startup_managed()
238 struct irq_data *d = irq_desc_get_irq_data(desc); in __irq_startup()
257 struct irq_data *d = irq_desc_get_irq_data(desc); in irq_startup()
288 struct irq_data *d = irq_desc_get_irq_data(desc); in irq_activate()
306 if (irqd_is_started(&desc->irq_data)) { in irq_shutdown()
308 if (desc->irq_data.chip->irq_shutdown) { in irq_shutdown()
309 desc->irq_data.chip->irq_shutdown(&desc->irq_data); in irq_shutdown()
323 irq_domain_deactivate_irq(&desc->irq_data); in irq_shutdown()
328 if (!irqd_irq_disabled(&desc->irq_data)) { in irq_enable()
332 if (desc->irq_data.chip->irq_enable) { in irq_enable()
333 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_enable()
343 if (irqd_irq_disabled(&desc->irq_data)) { in __irq_disable()
348 if (desc->irq_data.chip->irq_disable) { in __irq_disable()
349 desc->irq_data.chip->irq_disable(&desc->irq_data); in __irq_disable()
384 if (desc->irq_data.chip->irq_enable) in irq_percpu_enable()
385 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_percpu_enable()
387 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_percpu_enable()
393 if (desc->irq_data.chip->irq_disable) in irq_percpu_disable()
394 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_percpu_disable()
396 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_percpu_disable()
402 if (desc->irq_data.chip->irq_mask_ack) { in mask_ack_irq()
403 desc->irq_data.chip->irq_mask_ack(&desc->irq_data); in mask_ack_irq()
407 if (desc->irq_data.chip->irq_ack) in mask_ack_irq()
408 desc->irq_data.chip->irq_ack(&desc->irq_data); in mask_ack_irq()
414 if (irqd_irq_masked(&desc->irq_data)) in mask_irq()
417 if (desc->irq_data.chip->irq_mask) { in mask_irq()
418 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_irq()
425 if (!irqd_irq_masked(&desc->irq_data)) in unmask_irq()
428 if (desc->irq_data.chip->irq_unmask) { in unmask_irq()
429 desc->irq_data.chip->irq_unmask(&desc->irq_data); in unmask_irq()
436 struct irq_chip *chip = desc->irq_data.chip; in unmask_threaded_irq()
439 chip->irq_eoi(&desc->irq_data); in unmask_threaded_irq()
465 if (unlikely(!action || irqd_irq_disabled(&desc->irq_data))) { in handle_nested_irq()
471 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_nested_irq()
482 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_nested_irq()
504 if (!irqd_has_set(&desc->irq_data, mask)) in irq_may_run()
541 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_simple_irq()
578 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_untracked_irq()
584 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_untracked_irq()
590 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_untracked_irq()
610 if (!irqd_irq_disabled(&desc->irq_data) && in cond_unmask_irq()
611 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) in cond_unmask_irq()
638 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_level_irq()
657 desc->preflow_handler(&desc->irq_data); in preflow_handler()
666 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
675 if (!irqd_irq_disabled(&desc->irq_data) && in cond_unmask_eoi_irq()
676 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) { in cond_unmask_eoi_irq()
677 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
680 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
695 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_irq()
708 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_fasteoi_irq()
727 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_irq()
763 if (irqd_irq_disabled(&desc->irq_data) || !desc->action) { in handle_edge_irq()
772 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_edge_irq()
786 if (!irqd_irq_disabled(&desc->irq_data) && in handle_edge_irq()
787 irqd_irq_masked(&desc->irq_data)) in handle_edge_irq()
794 !irqd_irq_disabled(&desc->irq_data)); in handle_edge_irq()
826 if (irqd_irq_disabled(&desc->irq_data) || !desc->action) { in handle_edge_eoi_irq()
840 !irqd_irq_disabled(&desc->irq_data)); in handle_edge_eoi_irq()
843 chip->irq_eoi(&desc->irq_data); in handle_edge_eoi_irq()
861 chip->irq_ack(&desc->irq_data); in handle_percpu_irq()
866 chip->irq_eoi(&desc->irq_data); in handle_percpu_irq()
890 chip->irq_ack(&desc->irq_data); in handle_percpu_devid_irq()
908 chip->irq_eoi(&desc->irq_data); in handle_percpu_devid_irq()
918 struct irq_data *irq_data = &desc->irq_data; in __irq_do_set_handler() local
927 while (irq_data) { in __irq_do_set_handler()
928 if (irq_data->chip != &no_irq_chip) in __irq_do_set_handler()
938 irq_data = irq_data->parent_data; in __irq_do_set_handler()
941 if (WARN_ON(!irq_data || irq_data->chip == &no_irq_chip)) in __irq_do_set_handler()
947 if (desc->irq_data.chip != &no_irq_chip) in __irq_do_set_handler()
958 unsigned int type = irqd_get_trigger_type(&desc->irq_data); in __irq_do_set_handler()
1038 trigger = irqd_get_trigger_type(&desc->irq_data); in irq_modify_status()
1040 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU | in irq_modify_status()
1043 irqd_set(&desc->irq_data, IRQD_NO_BALANCING); in irq_modify_status()
1045 irqd_set(&desc->irq_data, IRQD_PER_CPU); in irq_modify_status()
1047 irqd_set(&desc->irq_data, IRQD_MOVE_PCNTXT); in irq_modify_status()
1049 irqd_set(&desc->irq_data, IRQD_LEVEL); in irq_modify_status()
1055 irqd_set(&desc->irq_data, trigger); in irq_modify_status()
1081 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_online()
1084 !irqd_irq_disabled(&desc->irq_data))) in irq_cpu_online()
1085 chip->irq_cpu_online(&desc->irq_data); in irq_cpu_online()
1111 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_offline()
1114 !irqd_irq_disabled(&desc->irq_data))) in irq_cpu_offline()
1115 chip->irq_cpu_offline(&desc->irq_data); in irq_cpu_offline()
1136 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_ack_irq()
1149 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_fasteoi_ack_irq()
1160 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_fasteoi_ack_irq()
1171 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_ack_irq()
1188 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_mask_irq()
1202 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_fasteoi_mask_irq()
1221 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_mask_irq()
1233 void irq_chip_enable_parent(struct irq_data *data) in irq_chip_enable_parent()
1248 void irq_chip_disable_parent(struct irq_data *data) in irq_chip_disable_parent()
1262 void irq_chip_ack_parent(struct irq_data *data) in irq_chip_ack_parent()
1273 void irq_chip_mask_parent(struct irq_data *data) in irq_chip_mask_parent()
1284 void irq_chip_unmask_parent(struct irq_data *data) in irq_chip_unmask_parent()
1295 void irq_chip_eoi_parent(struct irq_data *data) in irq_chip_eoi_parent()
1310 int irq_chip_set_affinity_parent(struct irq_data *data, in irq_chip_set_affinity_parent()
1328 int irq_chip_set_type_parent(struct irq_data *data, unsigned int type) in irq_chip_set_type_parent()
1346 int irq_chip_retrigger_hierarchy(struct irq_data *data) in irq_chip_retrigger_hierarchy()
1360 int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, void *vcpu_info) in irq_chip_set_vcpu_affinity_parent()
1376 int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on) in irq_chip_set_wake_parent()
1395 int irq_chip_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) in irq_chip_compose_msi_msg()
1397 struct irq_data *pos = NULL; in irq_chip_compose_msi_msg()
1419 int irq_chip_pm_get(struct irq_data *data) in irq_chip_pm_get()
1442 int irq_chip_pm_put(struct irq_data *data) in irq_chip_pm_put()