summaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2017-04-19 18:48:52 +0200
committerBjorn Helgaas <bhelgaas@google.com>2017-04-24 20:53:13 +0200
commitf1e209b7f80288a711268af9054a04d3f6900a6b (patch)
treedecff099f45f8b358bae1d0cb010570afe8a2c97 /arch/arm/include
parentlinux/io.h: Add pci_remap_cfgspace() interface (diff)
downloadlinux-f1e209b7f80288a711268af9054a04d3f6900a6b.tar.xz
linux-f1e209b7f80288a711268af9054a04d3f6900a6b.zip
ARM64: Implement pci_remap_cfgspace() interface
The PCI bus specification (rev 3.0, 3.2.5 "Transaction Ordering and Posting") defines rules for PCI configuration space transactions ordering and posting, that state that configuration writes are non-posted transactions. This rule is reinforced by the ARM v8 architecture reference manual (issue A.k, Early Write Acknowledgment) that explicitly recommends that No Early Write Acknowledgment attribute should be used to map PCI configuration (write) transactions. Current ioremap interface on ARM64 implements mapping functions where the Early Write Acknowledgment hint is enabled, so they cannot be used to map PCI configuration space in a PCI specs compliant way. Implement an ARM64 specific pci_remap_cfgspace() interface that allows to map PCI config region with nGnRnE attributes, providing a remap function that complies with PCI specifications and the ARMv8 architecture reference manual recommendations. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm/include')
0 files changed, 0 insertions, 0 deletions