summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorJohnny-CC Chang <Johnny-CC.Chang@mediatek.com>2025-11-13 16:44:06 +0800
committerSasha Levin <sashal@kernel.org>2026-03-04 07:21:19 -0500
commitcbda3855897f9815d82dbe3dc2e08f963a7e5347 (patch)
treec6a7b2219600b8c29062cbd6f0e1bdf6be60171b /drivers/pci
parent7e9a6422820927a1ff6fbce30ab95af4834be6aa (diff)
PCI: Mark Nvidia GB10 to avoid bus reset
[ Upstream commit c81a2ce6b6a844d1a57d2a69833a9d0f00403f00 ] After asserting Secondary Bus Reset to downstream devices via a GB10 Root Port, the link may not retrain correctly, e.g., the link may retrain with a lower lane count or config accesses to downstream devices may fail. Prevent use of Secondary Bus Reset for devices below GB10. Signed-off-by: Johnny-CC Chang <Johnny-CC.Chang@mediatek.com> [bhelgaas: drop pci_ids.h update (only used once), update commit log] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org> Link: https://patch.msgid.link/20251113084441.2124737-1-Johnny-CC.Chang@mediatek.com Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/quirks.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 8f2f8ea9ff9a..3d05ea35c536 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3749,6 +3749,14 @@ static void quirk_no_bus_reset(struct pci_dev *dev)
}
/*
+ * After asserting Secondary Bus Reset to downstream devices via a GB10
+ * Root Port, the link may not retrain correctly.
+ * https://lore.kernel.org/r/20251113084441.2124737-1-Johnny-CC.Chang@mediatek.com
+ */
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x22CE, quirk_no_bus_reset);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x22D0, quirk_no_bus_reset);
+
+/*
* Some NVIDIA GPU devices do not work with bus reset, SBR needs to be
* prevented for those affected devices.
*/