From 28d8e6bcb73b0864b24d89736d8f4d1cb21833be Mon Sep 17 00:00:00 2001 From: wangzhimin1179 Date: Tue, 28 May 2024 09:47:48 +0800 Subject: [PATCH] PCI: Mark Px210 PCI-E Extended Tags as broken Per PCIe r3.1, sec 2.2.6.2 and 7.8.4, a Requester may not use 8-bit Tags unless its Extended Tag Field Enable is set, but all Receivers/Completers must handle 8-bit Tags correctly regardless of their Extended Tag Field Enable. Phytium Px210 chipset has some issues with 8-bit Tags enabled when doing DMA operations, add this quirk to disable Extended Tags for the entire hierarchy to avoid the problem. Signed-off-by: Liu Tao Signed-off-by: Chen Baozi Signed-off-by: Wang Yinfeng Signed-off-by: Wang Zhimin Signed-off-by: wangzhimin1179 --- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index eff7f5df08e27..dfbb373af0ccf 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -5535,6 +5535,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0142, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0144, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0420, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PHYTIUM, 0xdc3a, quirk_no_ext_tags); #ifdef CONFIG_PCI_ATS static void quirk_no_ats(struct pci_dev *pdev)