/kernel/irq/ |
D | chip.c | 53 desc->irq_data.chip = chip; in irq_set_chip() 153 desc->irq_data.chip_data = data; in irq_set_chip_data() 159 struct irq_data *irq_get_irq_data(unsigned int irq) in irq_get_irq_data() 163 return desc ? &desc->irq_data : NULL; in irq_get_irq_data() 169 irqd_clear(&desc->irq_data, IRQD_IRQ_DISABLED); in irq_state_clr_disabled() 174 irqd_clear(&desc->irq_data, IRQD_IRQ_MASKED); in irq_state_clr_masked() 179 irqd_clear(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_clr_started() 184 irqd_set(&desc->irq_data, IRQD_IRQ_STARTED); in irq_state_set_started() 197 struct irq_data *d = irq_desc_get_irq_data(desc); in __irq_startup_managed() 239 struct irq_data *d = irq_desc_get_irq_data(desc); in __irq_startup() [all …]
|
D | irqdomain.c | 542 struct irq_data *irq_data) in irq_domain_set_mapping() argument 549 rcu_assign_pointer(domain->revmap[hwirq], irq_data); in irq_domain_set_mapping() 551 radix_tree_insert(&domain->revmap_tree, hwirq, irq_data); in irq_domain_set_mapping() 557 struct irq_data *irq_data = irq_get_irq_data(irq); in irq_domain_disassociate() local 560 if (WARN(!irq_data || irq_data->domain != domain, in irq_domain_disassociate() 564 hwirq = irq_data->hwirq; in irq_domain_disassociate() 581 irq_data->domain = NULL; in irq_domain_disassociate() 582 irq_data->hwirq = 0; in irq_domain_disassociate() 594 struct irq_data *irq_data = irq_get_irq_data(virq); in irq_domain_associate_locked() local 600 if (WARN(!irq_data, "error: virq%i is not allocated", virq)) in irq_domain_associate_locked() [all …]
|
D | internals.h | 104 extern int __irq_get_irqchip_state(struct irq_data *data, 137 extern int irq_do_set_affinity(struct irq_data *data, 149 if (unlikely(desc->irq_data.chip->irq_bus_lock)) in chip_bus_lock() 150 desc->irq_data.chip->irq_bus_lock(&desc->irq_data); in chip_bus_lock() 155 if (unlikely(desc->irq_data.chip->irq_bus_sync_unlock)) in chip_bus_sync_unlock() 156 desc->irq_data.chip->irq_bus_sync_unlock(&desc->irq_data); in chip_bus_sync_unlock() 199 static inline unsigned int irqd_get(struct irq_data *d) in irqd_get() 207 static inline void irqd_set_move_pending(struct irq_data *d) in irqd_set_move_pending() 212 static inline void irqd_clr_move_pending(struct irq_data *d) in irqd_clr_move_pending() 217 static inline void irqd_set_managed_shutdown(struct irq_data *d) in irqd_set_managed_shutdown() [all …]
|
D | manage.c | 40 struct irq_data *irqd = irq_desc_get_irq_data(desc); in __synchronize_hardirq() 50 while (irqd_irq_inprogress(&desc->irq_data)) in __synchronize_hardirq() 55 inprogress = irqd_irq_inprogress(&desc->irq_data); in __synchronize_hardirq() 148 if (!desc || !irqd_can_balance(&desc->irq_data) || in __irq_can_set_affinity() 149 !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) in __irq_can_set_affinity() 176 !irqd_affinity_is_managed(&desc->irq_data); in irq_can_set_affinity_usr() 198 static void irq_validate_effective_affinity(struct irq_data *data) in irq_validate_effective_affinity() 209 static inline void irq_init_effective_affinity(struct irq_data *data, in irq_init_effective_affinity() 215 static inline void irq_validate_effective_affinity(struct irq_data *data) { } in irq_validate_effective_affinity() 216 static inline void irq_init_effective_affinity(struct irq_data *data, in irq_init_effective_affinity() [all …]
|
D | msi.c | 209 static inline void irq_chip_write_msi_msg(struct irq_data *data, in irq_chip_write_msi_msg() 239 int msi_domain_set_affinity(struct irq_data *irq_data, in msi_domain_set_affinity() argument 242 struct irq_data *parent = irq_data->parent_data; in msi_domain_set_affinity() 248 BUG_ON(irq_chip_compose_msi_msg(irq_data, msg)); in msi_domain_set_affinity() 249 msi_check_level(irq_data->domain, msg); in msi_domain_set_affinity() 250 irq_chip_write_msi_msg(irq_data, msg); in msi_domain_set_affinity() 257 struct irq_data *irq_data, bool early) in msi_domain_activate() argument 261 BUG_ON(irq_chip_compose_msi_msg(irq_data, msg)); in msi_domain_activate() 262 msi_check_level(irq_data->domain, msg); in msi_domain_activate() 263 irq_chip_write_msi_msg(irq_data, msg); in msi_domain_activate() [all …]
|
D | generic-chip.c | 25 void irq_gc_noop(struct irq_data *d) in irq_gc_noop() 36 void irq_gc_mask_disable_reg(struct irq_data *d) in irq_gc_mask_disable_reg() 55 void irq_gc_mask_set_bit(struct irq_data *d) in irq_gc_mask_set_bit() 75 void irq_gc_mask_clr_bit(struct irq_data *d) in irq_gc_mask_clr_bit() 95 void irq_gc_unmask_enable_reg(struct irq_data *d) in irq_gc_unmask_enable_reg() 111 void irq_gc_ack_set_bit(struct irq_data *d) in irq_gc_ack_set_bit() 127 void irq_gc_ack_clr_bit(struct irq_data *d) in irq_gc_ack_clr_bit() 150 void irq_gc_mask_disable_and_ack_set(struct irq_data *d) in irq_gc_mask_disable_and_ack_set() 167 void irq_gc_eoi(struct irq_data *d) in irq_gc_eoi() 187 int irq_gc_set_wake(struct irq_data *d, unsigned int on) in irq_gc_set_wake() [all …]
|
D | pm.c | 18 if (irqd_is_wakeup_armed(&desc->irq_data)) { in irq_pm_check_wakeup() 19 irqd_clear(&desc->irq_data, IRQD_WAKEUP_ARMED); in irq_pm_check_wakeup() 73 struct irq_data *irqd = &desc->irq_data; in suspend_device_irq() 154 struct irq_data *irqd = &desc->irq_data; in resume_irq() 218 !irqd_is_wakeup_set(&desc->irq_data)) in rearm_wake_irq() 222 irqd_set(&desc->irq_data, IRQD_WAKEUP_ARMED); in rearm_wake_irq()
|
D | resend.c | 58 if (handle_enforce_irqctx(&desc->irq_data)) in irq_sw_resend() 91 if (desc->irq_data.chip->irq_retrigger) in try_retrigger() 92 return desc->irq_data.chip->irq_retrigger(&desc->irq_data); in try_retrigger() 95 return irq_chip_retrigger_hierarchy(&desc->irq_data); in try_retrigger() 175 if ((desc->istate & IRQS_NMI) || !irqd_is_activated(&desc->irq_data)) in irq_inject_interrupt()
|
D | migration.c | 20 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_fixup_move_pending() 38 void irq_move_masked_irq(struct irq_data *idata) in irq_move_masked_irq() 41 struct irq_data *data = &desc->irq_data; in irq_move_masked_irq() 94 void __irq_move_irq(struct irq_data *idata) in __irq_move_irq()
|
D | proc.c | 56 if (irqd_is_setaffinity_pending(&desc->irq_data)) in show_irq_affinity() 63 mask = irq_data_get_effective_affinity_mask(&desc->irq_data); in show_irq_affinity() 344 if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip)) in register_irq_proc() 505 if (desc->irq_data.chip) { in show_interrupts() 506 if (desc->irq_data.chip->irq_print_chip) in show_interrupts() 507 desc->irq_data.chip->irq_print_chip(&desc->irq_data, p); in show_interrupts() 508 else if (desc->irq_data.chip->name) in show_interrupts() 509 seq_printf(p, " %8s", desc->irq_data.chip->name); in show_interrupts() 515 if (desc->irq_data.domain) in show_interrupts() 516 seq_printf(p, " %*lu", prec, desc->irq_data.hwirq); in show_interrupts() [all …]
|
D | ipi.c | 27 struct irq_data *data; in irq_reserve_ipi() 117 struct irq_data *data = irq_get_irq_data(irq); in irq_destroy_ipi() 164 struct irq_data *data = irq_get_irq_data(irq); in ipi_get_hwirq() 186 static int ipi_send_verify(struct irq_chip *chip, struct irq_data *data, in ipi_send_verify() 223 struct irq_data *data = irq_desc_get_irq_data(desc); in __ipi_send_single() 265 struct irq_data *data = irq_desc_get_irq_data(desc); in __ipi_send_mask() 310 struct irq_data *data = desc ? irq_desc_get_irq_data(desc) : NULL; in ipi_send_single() 331 struct irq_data *data = desc ? irq_desc_get_irq_data(desc) : NULL; in ipi_send_mask()
|
D | irq_sim.c | 27 static void irq_sim_irqmask(struct irq_data *data) in irq_sim_irqmask() 34 static void irq_sim_irqunmask(struct irq_data *data) in irq_sim_irqunmask() 41 static int irq_sim_set_type(struct irq_data *data, unsigned int type) in irq_sim_set_type() 52 static int irq_sim_get_irqchip_state(struct irq_data *data, in irq_sim_get_irqchip_state() 70 static int irq_sim_set_irqchip_state(struct irq_data *data, in irq_sim_set_irqchip_state() 139 struct irq_data *irqd; in irq_sim_domain_unmap()
|
D | irqdesc.c | 111 desc->irq_data.common = &desc->irq_common_data; in desc_set_defaults() 112 desc->irq_data.irq = irq; in desc_set_defaults() 113 desc->irq_data.chip = &no_irq_chip; in desc_set_defaults() 114 desc->irq_data.chip_data = NULL; in desc_set_defaults() 116 irqd_set(&desc->irq_data, IRQD_IRQ_DISABLED); in desc_set_defaults() 117 irqd_set(&desc->irq_data, IRQD_IRQ_MASKED); in desc_set_defaults() 173 if (desc->irq_data.chip && desc->irq_data.chip->name) { in chip_name_show() 175 desc->irq_data.chip->name); in chip_name_show() 190 if (desc->irq_data.domain) in hwirq_show() 191 ret = sprintf(buf, "%lu\n", desc->irq_data.hwirq); in hwirq_show() [all …]
|
D | spurious.c | 41 smp_processor_id(), desc->irq_data.irq)) in irq_wait_for_poll() 47 while (irqd_irq_inprogress(&desc->irq_data)) in irq_wait_for_poll() 50 } while (irqd_irq_inprogress(&desc->irq_data)); in irq_wait_for_poll() 52 return !irqd_irq_disabled(&desc->irq_data) && desc->action; in irq_wait_for_poll() 82 if (irqd_irq_disabled(&desc->irq_data) && !force) in try_one_irq() 95 if (irqd_irq_inprogress(&desc->irq_data)) { in try_one_irq()
|
D | handle.c | 140 unsigned int irq = desc->irq_data.irq; in __handle_irq_event_percpu() 198 add_interrupt_randomness(desc->irq_data.irq); in handle_irq_event_percpu() 210 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_irq_event() 216 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_irq_event()
|
D | dummychip.c | 18 static void ack_bad(struct irq_data *data) in ack_bad() 29 static void noop(struct irq_data *data) { } in noop() 31 static unsigned int noop_ret(struct irq_data *data) in noop_ret()
|
D | cpuhotplug.c | 20 static inline bool irq_needs_fixup(struct irq_data *d) in irq_needs_fixup() 55 struct irq_data *d = irq_desc_get_irq_data(desc); in migrate_one_irq() 175 static bool hk_should_isolate(struct irq_data *data, unsigned int cpu) in hk_should_isolate() 191 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_restore_affinity_of_irq()
|
D | autoprobe.c | 52 if (desc->irq_data.chip->irq_set_type) in probe_irq_on() 53 desc->irq_data.chip->irq_set_type(&desc->irq_data, in probe_irq_on()
|
D | debugfs.c | 32 struct irq_data *data = irq_desc_get_irq_data(desc); in irq_debug_show_masks() 64 irq_debug_show_chip(struct seq_file *m, struct irq_data *data, int ind) in irq_debug_show_chip() 79 irq_debug_show_data(struct seq_file *m, struct irq_data *data, int ind) in irq_debug_show_data() 162 struct irq_data *data; in irq_debug_show()
|
D | debug.h | 23 desc->irq_data.chip, desc->irq_data.chip); in print_irq_desc()
|