Lines Matching refs:irq_data
46 while (irqd_irq_inprogress(&desc->irq_data)) in __synchronize_hardirq()
51 inprogress = irqd_irq_inprogress(&desc->irq_data); in __synchronize_hardirq()
127 if (!desc || !irqd_can_balance(&desc->irq_data) || in irq_can_set_affinity()
128 !desc->irq_data.chip || !desc->irq_data.chip->irq_set_affinity) in irq_can_set_affinity()
155 static inline bool irq_can_move_pcntxt(struct irq_data *data) in irq_can_move_pcntxt()
159 static inline bool irq_move_pending(struct irq_data *data) in irq_move_pending()
174 static inline bool irq_can_move_pcntxt(struct irq_data *data) { return true; } in irq_can_move_pcntxt()
175 static inline bool irq_move_pending(struct irq_data *data) { return false; } in irq_move_pending()
182 int irq_do_set_affinity(struct irq_data *data, const struct cpumask *mask, in irq_do_set_affinity()
202 int irq_set_affinity_locked(struct irq_data *data, const struct cpumask *mask, in irq_set_affinity_locked()
271 if (irq_move_pending(&desc->irq_data)) in irq_affinity_notify()
274 cpumask_copy(cpumask, desc->irq_data.affinity); in irq_affinity_notify()
335 int node = desc->irq_data.node; in setup_affinity()
345 if (irqd_has_set(&desc->irq_data, IRQD_AFFINITY_SET)) { in setup_affinity()
346 if (cpumask_intersects(desc->irq_data.affinity, in setup_affinity()
348 set = desc->irq_data.affinity; in setup_affinity()
350 irqd_clear(&desc->irq_data, IRQD_AFFINITY_SET); in setup_affinity()
361 irq_do_set_affinity(&desc->irq_data, mask, false); in setup_affinity()
514 if (WARN(!desc->irq_data.chip, in enable_irq()
532 if (desc->irq_data.chip->irq_set_wake) in set_irq_wake_real()
533 ret = desc->irq_data.chip->irq_set_wake(&desc->irq_data, on); in set_irq_wake_real()
568 irqd_set(&desc->irq_data, IRQD_WAKEUP_STATE); in irq_set_irq_wake()
578 irqd_clear(&desc->irq_data, IRQD_WAKEUP_STATE); in irq_set_irq_wake()
612 struct irq_chip *chip = desc->irq_data.chip; in __irq_set_trigger()
628 if (!irqd_irq_masked(&desc->irq_data)) in __irq_set_trigger()
630 if (!irqd_irq_disabled(&desc->irq_data)) in __irq_set_trigger()
635 ret = chip->irq_set_type(&desc->irq_data, flags); in __irq_set_trigger()
640 irqd_clear(&desc->irq_data, IRQD_TRIGGER_MASK); in __irq_set_trigger()
641 irqd_set(&desc->irq_data, flags); in __irq_set_trigger()
644 flags = irqd_get_trigger_type(&desc->irq_data); in __irq_set_trigger()
646 irqd_clear(&desc->irq_data, IRQD_LEVEL); in __irq_set_trigger()
650 irqd_set(&desc->irq_data, IRQD_LEVEL); in __irq_set_trigger()
746 if (unlikely(irqd_irq_inprogress(&desc->irq_data))) { in irq_finalize_oneshot()
763 if (!desc->threads_oneshot && !irqd_irq_disabled(&desc->irq_data) && in irq_finalize_oneshot()
764 irqd_irq_masked(&desc->irq_data)) in irq_finalize_oneshot()
799 if (desc->irq_data.affinity) in irq_thread_check_affinity()
800 cpumask_copy(mask, desc->irq_data.affinity); in irq_thread_check_affinity()
972 struct irq_data *d = &desc->irq_data; in irq_request_resources()
980 struct irq_data *d = &desc->irq_data; in irq_release_resources()
1002 if (desc->irq_data.chip == &no_irq_chip) in __setup_irq()
1081 if (desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE) in __setup_irq()
1159 !(desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE)) { in __setup_irq()
1185 new->name, irq, desc->irq_data.chip->name); in __setup_irq()
1202 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in __setup_irq()
1205 irqd_set(&desc->irq_data, IRQD_PER_CPU); in __setup_irq()
1221 irqd_set(&desc->irq_data, IRQD_NO_BALANCING); in __setup_irq()
1819 struct irq_data *data; in irq_get_irqchip_state()
1864 struct irq_data *data; in irq_set_irqchip_state()