forked from Minki/linux
1a01753ed9
Currently, the gic uses handle_level_irq for handling SPIs (Shared
Peripheral Interrupts), requiring active interrupts to be masked at
the distributor level during IRQ handling.
On a virtualised system, only the CPU interfaces are virtualised in
hardware. Accesses to the distributor must be trapped by the
hypervisor, adding latency to the critical interrupt path in Linux.
This patch modifies the GIC code to use handle_fasteoi_irq for handling
interrupts, which only requires us to signal EOI to the CPU interface
when handling is complete. Cascaded IRQ handling is also updated to use
the chained IRQ enter/exit functions to honour the flow control of the
parent chip.
Note that commit
|
||
---|---|---|
.. | ||
dmabounce.c | ||
gic.c | ||
icst.c | ||
it8152.c | ||
Kconfig | ||
locomo.c | ||
Makefile | ||
pl330.c | ||
sa1111.c | ||
scoop.c | ||
sharpsl_param.c | ||
time-acorn.c | ||
timer-sp.c | ||
uengine.c | ||
via82c505.c | ||
vic.c |