[PATCH 2/2] PCI: Add MSI masking quirk for Nvidia ION AHCI

From: Marc Zyngier
Date: Thu Nov 04 2021 - 14:01:42 EST


The ION AHCI device pretends that MSI masking isn't a thing,
while it actually implements it and needs MSIs to be unmasked
to work. Add a quirk to that effect.

Reported-by: Rui Salvaterra <rsalvaterra@xxxxxxxxx>
Tested-by: Rui Salvaterra <rsalvaterra@xxxxxxxxx>
Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
Link: https://lore.kernel.org/r/CALjTZvbzYfBuLB+H=fj2J+9=DxjQ2Uqcy0if_PvmJ-nU-qEgkg@xxxxxxxxxxxxxx
---
drivers/pci/quirks.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 4537d1ea14fd..89c7c99cd1bb 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5795,3 +5795,9 @@ static void apex_pci_fixup_class(struct pci_dev *pdev)
}
DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
+
+static void nvidia_ion_ahci_fixup(struct pci_dev *pdev)
+{
+ pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
--
2.30.2