summaryrefslogtreecommitdiff
path: root/drivers/irqchip/irq-apple-aic.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2021-03-15 17:21:21 +0300
committerMarc Zyngier <maz@kernel.org>2021-06-01 12:46:00 +0300
commit5f59229680f70078ac4c11db2ae89be087474144 (patch)
tree3621fb6da192b5f8e8734b15765f0dd17605a548 /drivers/irqchip/irq-apple-aic.c
parent2f2f7e39dbb31aa1db13c490a4e47502497510fe (diff)
downloadlinux-5f59229680f70078ac4c11db2ae89be087474144.tar.xz
KVM: arm64: timer: Add support for SW-based deactivation
In order to deal with the lack of active state, we need to use the mask/unmask primitives (after all, the active state is just an additional mask on top of the normal one). To avoid adding a bunch of ugly conditionals in the timer and vgic code, let's use a timer-specific irqdomain to deal with the state conversion. Yes, this is an unexpected use of irqdomains, but there is no reason not to be just as creative as the designers of the HW... This involves overloading the vcpu_affinity, set_irqchip_state and eoi callbacks so that the rest of the KVM code can continue ignoring the oddities of the underlying platform. Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'drivers/irqchip/irq-apple-aic.c')
0 files changed, 0 insertions, 0 deletions