From 5e9b74cf4f08f6eb48731bdb0fb9cb6b60855fd9 Mon Sep 17 00:00:00 2001 From: Dong Yibo Date: Fri, 8 Nov 2024 13:40:24 +0800 Subject: [PATCH] Add pcie acs and no-bus-reset quirk for mucse Nics --- drivers/pci/quirks.c | 31 +++++++++++++++++++++++++++++++ include/linux/pci_ids.h | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 82f4c45b6834..32ddf4d4b244 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -3884,6 +3884,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CAVIUM, 0xa100, quirk_no_bus_reset); */ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TI, 0xb005, quirk_no_bus_reset); + +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1000, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1c00, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1020, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1c20, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1060, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1c00, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1001, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1c01, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1003, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1c03, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1021, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1c00, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1061, quirk_no_bus_reset); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MUCSE, 0x1c61, quirk_no_bus_reset); + static void quirk_no_pm_reset(struct pci_dev *dev) { /* @@ -5261,6 +5277,21 @@ static const struct pci_dev_acs_enabled { /* Wangxun nics */ { PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs }, { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides }, + /* Mucse multi-function devices */ + { PCI_VENDOR_ID_MUCSE, 0x1000, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1c00, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1020, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1c20, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1060, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1c60, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1001, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1c01, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1003, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1c03, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1021, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1c21, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1061, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_MUCSE, 0x1c61, pci_quirk_mf_endpoint_acs }, { 0 } }; diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 5850fb322916..0d5119365204 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -3119,7 +3119,7 @@ #define PCI_DEVICE_ID_INTEL_S21152BB 0xb152 #define PCI_DEVICE_ID_INTEL_HDA_CML_R 0xf0c8 #define PCI_DEVICE_ID_INTEL_HDA_RKL_S 0xf1c8 - +#define PCI_VENDOR_ID_MUCSE 0x8848 #define PCI_VENDOR_ID_WANGXUN 0x8088 #define PCI_VENDOR_ID_SCALEMP 0x8686