函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\spurious.c Create Date:2022-07-27 11:10:50
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:note_interrupt

函数原型:void note_interrupt(struct irq_desc *desc, irqreturn_t action_ret)

返回类型:void

参数:

类型参数名称
struct irq_desc *desc
irqreturn_taction_ret
275  如果istate按位与IRQS_POLL_INPROGRESSirq_settings_is_polled(desc)则返回
279  如果bad_action_ret(action_ret)则
280  report_bad_irq(desc, action_ret)
281  返回
304  如果action_ret按位与唤醒中断
311  如果action_ret恒等于唤醒中断
321  如果非threads_handled_last按位与SPURIOUS_DEFERRED的值则
323  返回
338  handled或等于SPURIOUS_DEFERRED
339  如果handled不等于threads_handled_last
350  否则
362  否则
384  如果此条件成立可能性小(为编译器优化)(action_ret == 此设备没有产生中断)则
391  如果These inlines deal with timer wrapping correctly. You are * strongly encouraged to use them* 1. Because people otherwise forget* 2. Because if the timer wrap changes in future you won't have to* alter your driver code.(jiffies, 上次中断停滞时间 + HZ / 10)则无法处理中断次数等于1
393  否则无法处理中断次数自加
395  上次中断停滞时间等于jiffies
398  irq等于irq_desc_get_irq(desc)
399  如果此条件成立可能性小(为编译器优化)(try_misrouted_irq(irq, desc, action_ret))则
400  ok等于misrouted_irq(irq)
401  如果action_ret恒等于此设备没有产生中断无法处理中断次数减等于ok
405  发生的中断次数自加
406  如果此条件成立可能性大(为编译器优化)(发生的中断次数 < 100000)则返回
409  发生的中断次数等于0
410  如果此条件成立可能性小(为编译器优化)(无法处理中断次数 > 99900)则
414  If 99,900 of the previous 100,000 interrupts have not been handled* then assume that the IRQ is stuck in some manner
418  printk - print a kernel message*@fmt: format string* This is printk(). It can be called from any context. We want it to work.* We try to grab the console_lock. If we succeed, it's easy - we log the* output and call the console drivers
419  istate或等于IRQS_SPURIOUS_DISABLED
420  嵌套级数自加
421  q_disable - Mark interrupt disabled*@desc: irq descriptor which should be disabled* If the chip does not implement the irq_disable callback, we* use a lazy disable approach. That means we mark the interrupt* disabled, but leave the hardware unmasked
423  mod_timer( & poll_spurious_irq_timer, jiffies + POLL_SPURIOUS_IRQ_INTERVAL)
426  无法处理中断次数等于0
调用者
名称描述
handle_nested_irqhandle_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.
handle_irq_event_percpu