PCI: hv: Avoid the retarget interrupt hypercall in irq_unmask() on ARM64
authorBoqun Feng <boqun.feng@gmail.com>
Thu, 17 Feb 2022 03:45:19 +0000 (11:45 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Wed, 2 Mar 2022 10:12:59 +0000 (10:12 +0000)
commitd06957d7a6929e6a4aa959cb59d66f0c095fc974
tree33de8c9e3da295399dd854f67f7faa949fa42505
parente783362eb54cd99b2cac8b3a9aeac942e6f6ac07
PCI: hv: Avoid the retarget interrupt hypercall in irq_unmask() on ARM64

On ARM64 Hyper-V guests, SPIs are used for the interrupts of virtual PCI
devices, and SPIs can be managed directly via GICD registers. Therefore
the retarget interrupt hypercall is not needed on ARM64.

An arch-specific interface hv_arch_irq_unmask() is introduced to handle
the architecture level differences on this. For x86, the behavior
remains unchanged, while for ARM64 no hypercall is invoked when
unmasking an irq for virtual PCI devices.

Link: https://lore.kernel.org/r/20220217034525.1687678-1-boqun.feng@gmail.com
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
drivers/pci/controller/pci-hyperv.c