Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\chip.c Create Date:2022-07-28 10:11:21
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:handle_nested_irq - Handle a nested irq from a irq thread*@irq: the interrupt number* Handle interrupts which are nested into a threaded interrupt* handler. The handler function is called inside the calling* threads context.

Proto:void handle_nested_irq(unsigned int irq)

Type:void

Parameter:

TypeParameterName
unsigned intirq
460  desc = Interrupt to descriptor
464  might_sleep()
466  raw_spin_lock_irq( & lock)
468  istate &= ~(IRQS_REPLAY | IRQS_WAITING)
470  action = IRQ action list
471  If Value for the false possibility is greater at compile time(!action || irqd_irq_disabled( & irq_data)) Then
472  istate |= IRQS_PENDING
473  Go to out_unlock
476  kstat_incr_irqs_this_cpu(desc)
477  irqd_set( & irq_data, IRQD_IRQ_INPROGRESS)
478  raw_spin_unlock_irq( & lock)
480  action_ret = IRQ_NONE
481  for_each_action_of_desc(desc, action)
482  action_ret |= thread_fn(irq, dev_id)
484  If Not noirqdebug Then note_interrupt(desc, action_ret)
487  raw_spin_lock_irq( & lock)
488  irqd_clear( & irq_data, IRQD_IRQ_INPROGRESS)
490  out_unlock :
491  raw_spin_unlock_irq( & lock)