]> git.itanic.dy.fi Git - linux-stable/commitdiff
PCI: loongson: Add more devices that need MRRS quirk
authorHuacai Chen <chenhuacai@loongson.cn>
Sat, 11 Feb 2023 02:33:21 +0000 (10:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:50:45 +0000 (13:50 +0100)
[ Upstream commit c768f8c5f40fcdc6f058cc2f02592163d6c6716c ]

Loongson-2K SOC and LS7A2000 chipset add new PCI IDs that need MRRS
quirk.  Add them.

Link: https://lore.kernel.org/r/20230211023321.3530080-1-chenhuacai@loongson.cn
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/pci-loongson.c

index 759ec211c17bfbdf15670cfa69fbc5170a800071..fe0f732f6e434c3bbfb2bbc4c1388ae74573e52e 100644 (file)
 #include "../pci.h"
 
 /* Device IDs */
-#define DEV_PCIE_PORT_0        0x7a09
-#define DEV_PCIE_PORT_1        0x7a19
-#define DEV_PCIE_PORT_2        0x7a29
+#define DEV_LS2K_PCIE_PORT0    0x1a05
+#define DEV_LS7A_PCIE_PORT0    0x7a09
+#define DEV_LS7A_PCIE_PORT1    0x7a19
+#define DEV_LS7A_PCIE_PORT2    0x7a29
+#define DEV_LS7A_PCIE_PORT3    0x7a39
+#define DEV_LS7A_PCIE_PORT4    0x7a49
+#define DEV_LS7A_PCIE_PORT5    0x7a59
+#define DEV_LS7A_PCIE_PORT6    0x7a69
 
 #define DEV_LS2K_APB   0x7a02
 #define DEV_LS7A_GMAC  0x7a03
@@ -53,11 +58,11 @@ static void bridge_class_quirk(struct pci_dev *dev)
        dev->class = PCI_CLASS_BRIDGE_PCI_NORMAL;
 }
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
-                       DEV_PCIE_PORT_0, bridge_class_quirk);
+                       DEV_LS7A_PCIE_PORT0, bridge_class_quirk);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
-                       DEV_PCIE_PORT_1, bridge_class_quirk);
+                       DEV_LS7A_PCIE_PORT1, bridge_class_quirk);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
-                       DEV_PCIE_PORT_2, bridge_class_quirk);
+                       DEV_LS7A_PCIE_PORT2, bridge_class_quirk);
 
 static void system_bus_quirk(struct pci_dev *pdev)
 {
@@ -87,11 +92,21 @@ static void loongson_mrrs_quirk(struct pci_dev *pdev)
        bridge->no_inc_mrrs = 1;
 }
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
-                       DEV_PCIE_PORT_0, loongson_mrrs_quirk);
+                       DEV_LS2K_PCIE_PORT0, loongson_mrrs_quirk);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
-                       DEV_PCIE_PORT_1, loongson_mrrs_quirk);
+                       DEV_LS7A_PCIE_PORT0, loongson_mrrs_quirk);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
-                       DEV_PCIE_PORT_2, loongson_mrrs_quirk);
+                       DEV_LS7A_PCIE_PORT1, loongson_mrrs_quirk);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
+                       DEV_LS7A_PCIE_PORT2, loongson_mrrs_quirk);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
+                       DEV_LS7A_PCIE_PORT3, loongson_mrrs_quirk);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
+                       DEV_LS7A_PCIE_PORT4, loongson_mrrs_quirk);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
+                       DEV_LS7A_PCIE_PORT5, loongson_mrrs_quirk);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON,
+                       DEV_LS7A_PCIE_PORT6, loongson_mrrs_quirk);
 
 static void loongson_pci_pin_quirk(struct pci_dev *pdev)
 {