Commit d8558ac8 authored by Steffen Liebergeld's avatar Steffen Liebergeld Committed by Bjorn Helgaas

PCI: Fix Intel ACS quirk UPDCR register address

According to documentation [0] the correct offset for the Upstream Peer
Decode Configuration Register (UPDCR) is 0x1014.  It was previously defined
as 0x1114.

d99321b6 ("PCI: Enable quirks for PCIe ACS on Intel PCH root ports")
intended to enforce isolation between PCI devices allowing them to be put
into separate IOMMU groups.  Due to the wrong register offset the intended
isolation was not fully enforced.  This is fixed with this patch.

Please note that I did not test this patch because I have no hardware that
implements this register.

[0] https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/4th-gen-core-family-mobile-i-o-datasheet.pdf (page 325)
Fixes: d99321b6 ("PCI: Enable quirks for PCIe ACS on Intel PCH root ports")
Link: https://lore.kernel.org/r/7a3505df-79ba-8a28-464c-88b83eefffa6@kernkonzept.comSigned-off-by: default avatarSteffen Liebergeld <steffen.liebergeld@kernkonzept.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarAndrew Murray <andrew.murray@arm.com>
Acked-by: default avatarAshok Raj <ashok.raj@intel.com>
Cc: stable@vger.kernel.org	# v3.15+
parent fef2dd8b
...@@ -4706,7 +4706,7 @@ int pci_dev_specific_acs_enabled(struct pci_dev *dev, u16 acs_flags) ...@@ -4706,7 +4706,7 @@ int pci_dev_specific_acs_enabled(struct pci_dev *dev, u16 acs_flags)
#define INTEL_BSPR_REG_BPPD (1 << 9) #define INTEL_BSPR_REG_BPPD (1 << 9)
/* Upstream Peer Decode Configuration Register */ /* Upstream Peer Decode Configuration Register */
#define INTEL_UPDCR_REG 0x1114 #define INTEL_UPDCR_REG 0x1014
/* 5:0 Peer Decode Enable bits */ /* 5:0 Peer Decode Enable bits */
#define INTEL_UPDCR_REG_MASK 0x3f #define INTEL_UPDCR_REG_MASK 0x3f
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment