[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260102-pci_acs-v3-4-72280b94d288@oss.qualcomm.com>
Date: Fri, 02 Jan 2026 21:04:50 +0530
From: Manivannan Sadhasivam via B4 Relay <devnull+manivannan.sadhasivam.oss.qualcomm.com@...nel.org>
To: Bjorn Helgaas <bhelgaas@...gle.com>
Cc: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
iommu@...ts.linux.dev, Naresh Kamboju <naresh.kamboju@...aro.org>,
Pavankumar Kondeti <quic_pkondeti@...cinc.com>,
Xingang Wang <wangxingang5@...wei.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Robin Murphy <robin.murphy@....com>, Jason Gunthorpe <jgg@...pe.ca>,
Manivannan Sadhasivam <mani@...nel.org>,
Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
Subject: [PATCH v3 4/4] PCI: Extend the pci_disable_broken_acs_cap() quirk
for one more IDT switch
From: Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
The IDT switch with Device ID 0x8090 used in the ARM Juno R2 development
board incorrectly raises an ACS Source Validation error on Completions for
Config Read Requests, even though PCIe r6.0, sec 6.12.1.1, says that
Completions are never affected by ACS Source Validation.
This is already handled by the pci_disable_broken_acs_cap() quirk for one
of the IDT switch 0x80b5. Hence, extend the quirk for this device too.
Tested-by: Marek Szyprowski <m.szyprowski@...sung.com>
Tested-by: Naresh Kamboju <naresh.kamboju@...aro.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
---
drivers/pci/quirks.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 1571a2ef331e..11ecb9ba1594 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -5793,7 +5793,8 @@ DECLARE_PCI_FIXUP_CLASS_RESUME_EARLY(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID,
*/
void pci_disable_broken_acs_cap(struct pci_dev *pdev)
{
- if (pdev->vendor == PCI_VENDOR_ID_IDT && pdev->device == 0x80b5) {
+ if (pdev->vendor == PCI_VENDOR_ID_IDT && (pdev->device == 0x80b5 ||
+ pdev->device == 0x8090)) {
pci_info(pdev, "Disabling broken ACS SV\n");
pdev->acs_capabilities &= ~PCI_ACS_SV;
}
--
2.48.1
Powered by blists - more mailing lists