函数源码

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source File:kernel\irq\chip.c Create Date:2022-07-27 11:11:45
首页 Copyright©Brick

957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
/**
 * handle_percpu_devid_fasteoi_nmi - Per CPU local NMI handler with per cpu
 *                   dev ids
 * @desc:   the interrupt description structure for this irq
 *
 * Similar to handle_fasteoi_nmi, but handling the dev_id cookie
 * as a percpu pointer.
 */
void handle_percpu_devid_fasteoi_nmi(struct irq_desc *desc)
{
    struct irq_chip *chip = irq_desc_get_chip(desc);
    struct irqaction *action = desc->action;
    unsigned int irq = irq_desc_get_irq(desc);
    irqreturn_t res;
 
    __kstat_incr_irqs_this_cpu(desc);
 
    trace_irq_handler_entry(irq, action);
    res = action->handler(irq, raw_cpu_ptr(action->percpu_dev_id));
    trace_irq_handler_exit(irq, action, res);
 
    if (chip->irq_eoi)
        chip->irq_eoi(&desc->irq_data);
}