Lines Matching refs:desc
33 void handle_bad_irq(struct irq_desc *desc) in handle_bad_irq() argument
35 unsigned int irq = irq_desc_get_irq(desc); in handle_bad_irq()
37 print_irq_desc(irq, desc); in handle_bad_irq()
38 kstat_incr_irqs_this_cpu(desc); in handle_bad_irq()
61 void __irq_wake_thread(struct irq_desc *desc, struct irqaction *action) in __irq_wake_thread() argument
123 desc->threads_oneshot |= action->thread_mask; in __irq_wake_thread()
134 atomic_inc(&desc->threads_active); in __irq_wake_thread()
139 irqreturn_t __handle_irq_event_percpu(struct irq_desc *desc) in __handle_irq_event_percpu() argument
142 unsigned int irq = desc->irq_data.irq; in __handle_irq_event_percpu()
145 record_irq_time(desc); in __handle_irq_event_percpu()
147 for_each_action_of_desc(desc, action) { in __handle_irq_event_percpu()
153 if (irq_settings_can_thread(desc) && in __handle_irq_event_percpu()
176 __irq_wake_thread(desc, action); in __handle_irq_event_percpu()
189 irqreturn_t handle_irq_event_percpu(struct irq_desc *desc) in handle_irq_event_percpu() argument
193 retval = __handle_irq_event_percpu(desc); in handle_irq_event_percpu()
195 add_interrupt_randomness(desc->irq_data.irq); in handle_irq_event_percpu()
197 if (!irq_settings_no_debug(desc)) in handle_irq_event_percpu()
198 note_interrupt(desc, retval); in handle_irq_event_percpu()
202 irqreturn_t handle_irq_event(struct irq_desc *desc) in handle_irq_event() argument
206 desc->istate &= ~IRQS_PENDING; in handle_irq_event()
207 irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_irq_event()
208 raw_spin_unlock(&desc->lock); in handle_irq_event()
210 ret = handle_irq_event_percpu(desc); in handle_irq_event()
212 raw_spin_lock(&desc->lock); in handle_irq_event()
213 irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); in handle_irq_event()