mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 22:39:20 +07:00
b9cdbe6e39
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 have to be non-posted transactions. Current ioremap interface on ARM provides mapping functions that provide "bufferable" writes transactions (ie ioremap uses MT_DEVICE memory type) aka posted writes, so PCI host controller drivers have no arch interface to remap PCI configuration space with memory attributes that comply with the PCI specifications for configuration space. Implement an ARM specific pci_remap_cfgspace() interface that allows to map PCI config memory regions with MT_UNCACHED memory type (ie strongly ordered - non-posted writes), providing a remap function that complies with PCI specifications for config space transactions. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Russell King <linux@armlinux.org.uk> |
||
---|---|---|
.. | ||
hardware | ||
mach | ||
xen | ||
arch_gicv3.h | ||
arch_timer.h | ||
arm-cci.h | ||
asm-offsets.h | ||
assembler.h | ||
atomic.h | ||
auxvec.h | ||
barrier.h | ||
bitops.h | ||
bitrev.h | ||
bL_switcher.h | ||
bug.h | ||
bugs.h | ||
cache.h | ||
cacheflush.h | ||
cachetype.h | ||
checksum.h | ||
clocksource.h | ||
cmpxchg.h | ||
compiler.h | ||
cp15.h | ||
cpu.h | ||
cpuidle.h | ||
cputype.h | ||
cti.h | ||
dcc.h | ||
delay.h | ||
device.h | ||
div64.h | ||
dma-contiguous.h | ||
dma-iommu.h | ||
dma-mapping.h | ||
dma.h | ||
domain.h | ||
ecard.h | ||
edac.h | ||
efi.h | ||
elf.h | ||
entry-macro-multi.S | ||
exception.h | ||
fb.h | ||
fiq.h | ||
firmware.h | ||
fixmap.h | ||
flat.h | ||
floppy.h | ||
fncpy.h | ||
fpstate.h | ||
ftrace.h | ||
futex.h | ||
glue-cache.h | ||
glue-df.h | ||
glue-pf.h | ||
glue-proc.h | ||
glue.h | ||
gpio.h | ||
hardirq.h | ||
highmem.h | ||
hugetlb-3level.h | ||
hugetlb.h | ||
hw_breakpoint.h | ||
hw_irq.h | ||
hwcap.h | ||
hypervisor.h | ||
ide.h | ||
idmap.h | ||
insn.h | ||
io.h | ||
irq_work.h | ||
irq.h | ||
irqflags.h | ||
jump_label.h | ||
Kbuild | ||
kexec.h | ||
kgdb.h | ||
kmap_types.h | ||
kprobes.h | ||
kvm_arm.h | ||
kvm_asm.h | ||
kvm_coproc.h | ||
kvm_emulate.h | ||
kvm_host.h | ||
kvm_hyp.h | ||
kvm_mmio.h | ||
kvm_mmu.h | ||
kvm_psci.h | ||
limits.h | ||
linkage.h | ||
mc146818rtc.h | ||
mcpm.h | ||
mcs_spinlock.h | ||
memblock.h | ||
memory.h | ||
mmu_context.h | ||
mmu.h | ||
module.h | ||
mpu.h | ||
mtd-xip.h | ||
neon.h | ||
nwflash.h | ||
opcodes-sec.h | ||
opcodes-virt.h | ||
opcodes.h | ||
outercache.h | ||
page-nommu.h | ||
page.h | ||
paravirt.h | ||
patch.h | ||
pci.h | ||
percpu.h | ||
perf_event.h | ||
pgalloc.h | ||
pgtable-2level-hwdef.h | ||
pgtable-2level-types.h | ||
pgtable-2level.h | ||
pgtable-3level-hwdef.h | ||
pgtable-3level-types.h | ||
pgtable-3level.h | ||
pgtable-hwdef.h | ||
pgtable-nommu.h | ||
pgtable.h | ||
probes.h | ||
proc-fns.h | ||
processor.h | ||
procinfo.h | ||
prom.h | ||
psci.h | ||
ptrace.h | ||
sections.h | ||
setup.h | ||
shmparam.h | ||
signal.h | ||
smp_plat.h | ||
smp_scu.h | ||
smp_twd.h | ||
smp.h | ||
sparsemem.h | ||
spinlock_types.h | ||
spinlock.h | ||
stackprotector.h | ||
stacktrace.h | ||
stage2_pgtable.h | ||
string.h | ||
suspend.h | ||
swab.h | ||
switch_to.h | ||
sync_bitops.h | ||
syscall.h | ||
system_info.h | ||
system_misc.h | ||
tcm.h | ||
therm.h | ||
thread_info.h | ||
thread_notify.h | ||
timex.h | ||
tlb.h | ||
tlbflush.h | ||
tls.h | ||
topology.h | ||
traps.h | ||
trusted_foundations.h | ||
uaccess.h | ||
ucontext.h | ||
unified.h | ||
unistd.h | ||
unwind.h | ||
uprobes.h | ||
user.h | ||
v7m.h | ||
vdso_datapage.h | ||
vdso.h | ||
vfp.h | ||
vfpmacros.h | ||
vga.h | ||
virt.h | ||
word-at-a-time.h | ||
xor.h |