diff options
| author | Johnny-CC Chang <Johnny-CC.Chang@mediatek.com> | 2025-11-13 16:44:06 +0800 |
|---|---|---|
| committer | Sasha Levin <sashal@kernel.org> | 2026-03-04 07:21:19 -0500 |
| commit | cbda3855897f9815d82dbe3dc2e08f963a7e5347 (patch) | |
| tree | c6a7b2219600b8c29062cbd6f0e1bdf6be60171b /drivers/pci | |
| parent | 7e9a6422820927a1ff6fbce30ab95af4834be6aa (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.c | 8 |
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. */ |
