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()
329 irq_domain_deactivate_irq(&desc->irq_data); in irq_shutdown_and_deactivate()
334 if (!irqd_irq_disabled(&desc->irq_data)) { in irq_enable()
338 if (desc->irq_data.chip->irq_enable) { in irq_enable()
339 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_enable()
349 if (irqd_irq_disabled(&desc->irq_data)) { in __irq_disable()
354 if (desc->irq_data.chip->irq_disable) { in __irq_disable()
355 desc->irq_data.chip->irq_disable(&desc->irq_data); in __irq_disable()
390 if (desc->irq_data.chip->irq_enable) in irq_percpu_enable()
391 desc->irq_data.chip->irq_enable(&desc->irq_data); in irq_percpu_enable()
393 desc->irq_data.chip->irq_unmask(&desc->irq_data); in irq_percpu_enable()
399 if (desc->irq_data.chip->irq_disable) in irq_percpu_disable()
400 desc->irq_data.chip->irq_disable(&desc->irq_data); in irq_percpu_disable()
402 desc->irq_data.chip->irq_mask(&desc->irq_data); in irq_percpu_disable()
408 if (desc->irq_data.chip->irq_mask_ack) { in mask_ack_irq()
409 desc->irq_data.chip->irq_mask_ack(&desc->irq_data); in mask_ack_irq()
413 if (desc->irq_data.chip->irq_ack) in mask_ack_irq()
414 desc->irq_data.chip->irq_ack(&desc->irq_data); in mask_ack_irq()
420 if (irqd_irq_masked(&desc->irq_data)) in mask_irq()
423 if (desc->irq_data.chip->irq_mask) { in mask_irq()
424 desc->irq_data.chip->irq_mask(&desc->irq_data); in mask_irq()
431 if (!irqd_irq_masked(&desc->irq_data)) in unmask_irq()
434 if (desc->irq_data.chip->irq_unmask) { in unmask_irq()
435 desc->irq_data.chip->irq_unmask(&desc->irq_data); in unmask_irq()
442 struct irq_chip *chip = desc->irq_data.chip; in unmask_threaded_irq()
445 chip->irq_eoi(&desc->irq_data); in unmask_threaded_irq()
471 if (unlikely(!action || irqd_irq_disabled(&desc->irq_data))) { in handle_nested_irq()
477 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_nested_irq()
488 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_nested_irq()
510 if (!irqd_has_set(&desc->irq_data, mask)) in irq_may_run()
547 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_simple_irq()
584 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_untracked_irq()
590 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_untracked_irq()
596 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_untracked_irq()
616 if (!irqd_irq_disabled(&desc->irq_data) && in cond_unmask_irq()
617 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) in cond_unmask_irq()
644 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_level_irq()
663 desc->preflow_handler(&desc->irq_data); in preflow_handler()
672 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
681 if (!irqd_irq_disabled(&desc->irq_data) && in cond_unmask_eoi_irq()
682 irqd_irq_masked(&desc->irq_data) && !desc->threads_oneshot) { in cond_unmask_eoi_irq()
683 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
686 chip->irq_eoi(&desc->irq_data); in cond_unmask_eoi_irq()
701 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_irq()
714 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_fasteoi_irq()
733 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_irq()
767 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_nmi()
802 if (irqd_irq_disabled(&desc->irq_data) || !desc->action) { in handle_edge_irq()
811 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_edge_irq()
825 if (!irqd_irq_disabled(&desc->irq_data) && in handle_edge_irq()
826 irqd_irq_masked(&desc->irq_data)) in handle_edge_irq()
833 !irqd_irq_disabled(&desc->irq_data)); in handle_edge_irq()
865 if (irqd_irq_disabled(&desc->irq_data) || !desc->action) { in handle_edge_eoi_irq()
879 !irqd_irq_disabled(&desc->irq_data)); in handle_edge_eoi_irq()
882 chip->irq_eoi(&desc->irq_data); in handle_edge_eoi_irq()
904 chip->irq_ack(&desc->irq_data); in handle_percpu_irq()
909 chip->irq_eoi(&desc->irq_data); in handle_percpu_irq()
937 chip->irq_ack(&desc->irq_data); in handle_percpu_devid_irq()
955 chip->irq_eoi(&desc->irq_data); in handle_percpu_devid_irq()
980 chip->irq_eoi(&desc->irq_data); in handle_percpu_devid_fasteoi_nmi()
990 struct irq_data *irq_data = &desc->irq_data; in __irq_do_set_handler() local
999 while (irq_data) { in __irq_do_set_handler()
1000 if (irq_data->chip != &no_irq_chip) in __irq_do_set_handler()
1010 irq_data = irq_data->parent_data; in __irq_do_set_handler()
1013 if (WARN_ON(!irq_data || irq_data->chip == &no_irq_chip)) in __irq_do_set_handler()
1019 if (desc->irq_data.chip != &no_irq_chip) in __irq_do_set_handler()
1030 unsigned int type = irqd_get_trigger_type(&desc->irq_data); in __irq_do_set_handler()
1110 trigger = irqd_get_trigger_type(&desc->irq_data); in irq_modify_status()
1112 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU | in irq_modify_status()
1115 irqd_set(&desc->irq_data, IRQD_NO_BALANCING); in irq_modify_status()
1117 irqd_set(&desc->irq_data, IRQD_PER_CPU); in irq_modify_status()
1119 irqd_set(&desc->irq_data, IRQD_MOVE_PCNTXT); in irq_modify_status()
1121 irqd_set(&desc->irq_data, IRQD_LEVEL); in irq_modify_status()
1127 irqd_set(&desc->irq_data, trigger); in irq_modify_status()
1153 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_online()
1156 !irqd_irq_disabled(&desc->irq_data))) in irq_cpu_online()
1157 chip->irq_cpu_online(&desc->irq_data); in irq_cpu_online()
1183 chip = irq_data_get_irq_chip(&desc->irq_data); in irq_cpu_offline()
1186 !irqd_irq_disabled(&desc->irq_data))) in irq_cpu_offline()
1187 chip->irq_cpu_offline(&desc->irq_data); in irq_cpu_offline()
1208 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_ack_irq()
1221 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_fasteoi_ack_irq()
1232 desc->irq_data.chip->irq_ack(&desc->irq_data); in handle_fasteoi_ack_irq()
1243 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_ack_irq()
1260 struct irq_chip *chip = desc->irq_data.chip; in handle_fasteoi_mask_irq()
1274 if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) { in handle_fasteoi_mask_irq()
1293 chip->irq_eoi(&desc->irq_data); in handle_fasteoi_mask_irq()
1309 int irq_chip_set_parent_state(struct irq_data *data, in irq_chip_set_parent_state()
1331 int irq_chip_get_parent_state(struct irq_data *data, in irq_chip_get_parent_state()
1349 void irq_chip_enable_parent(struct irq_data *data) in irq_chip_enable_parent()
1364 void irq_chip_disable_parent(struct irq_data *data) in irq_chip_disable_parent()
1378 void irq_chip_ack_parent(struct irq_data *data) in irq_chip_ack_parent()
1389 void irq_chip_mask_parent(struct irq_data *data) in irq_chip_mask_parent()
1400 void irq_chip_mask_ack_parent(struct irq_data *data) in irq_chip_mask_ack_parent()
1411 void irq_chip_unmask_parent(struct irq_data *data) in irq_chip_unmask_parent()
1422 void irq_chip_eoi_parent(struct irq_data *data) in irq_chip_eoi_parent()
1437 int irq_chip_set_affinity_parent(struct irq_data *data, in irq_chip_set_affinity_parent()
1455 int irq_chip_set_type_parent(struct irq_data *data, unsigned int type) in irq_chip_set_type_parent()
1473 int irq_chip_retrigger_hierarchy(struct irq_data *data) in irq_chip_retrigger_hierarchy()
1487 int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, void *vcpu_info) in irq_chip_set_vcpu_affinity_parent()
1503 int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on) in irq_chip_set_wake_parent()
1521 int irq_chip_request_resources_parent(struct irq_data *data) in irq_chip_request_resources_parent()
1536 void irq_chip_release_resources_parent(struct irq_data *data) in irq_chip_release_resources_parent()
1554 int irq_chip_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) in irq_chip_compose_msi_msg()
1556 struct irq_data *pos = NULL; in irq_chip_compose_msi_msg()
1578 int irq_chip_pm_get(struct irq_data *data) in irq_chip_pm_get()
1601 int irq_chip_pm_put(struct irq_data *data) in irq_chip_pm_put()