[PATCH] PCI: Disable FLR for more AMD Starship/Matisse functions

From: Wesley Aptekar-Cassels
Date: Sun Sep 08 2024 - 18:11:20 EST


On my ASUS PRIME X570-P motherboard, trying to FLR either of these
functions hangs the device and often causes crashes, same as with the
audio and USB drivers on the same device, which are already included in
this list.

Signed-off-by: Wesley Aptekar-Cassels <me@xxxxxxxxxxxx>
---
drivers/pci/quirks.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index a2ce4e08edf5..fe1a2a660095 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5493,6 +5493,8 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
/*
* FLR may cause the following to devices to hang:
*
+ * AMD Starship/Matisse Reserved SPP 0x1485
+ * AMD Starship/Matisse Cryptographic Coprocessor PSPCPP 0x1486
* AMD Starship/Matisse HD Audio Controller 0x1487
* AMD Starship USB 3.0 Host Controller 0x148c
* AMD Matisse USB 3.0 Host Controller 0x149c
@@ -5504,6 +5506,8 @@ static void quirk_no_flr(struct pci_dev *dev)
{
dev->dev_flags |= PCI_DEV_FLAGS_NO_FLR_RESET;
}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1485, quirk_no_flr);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1486, quirk_no_flr);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1487, quirk_no_flr);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x148c, quirk_no_flr);
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x149c, quirk_no_flr);
--
2.44.1