linux_dsm_epyc7002/arch/arm/mach-kirkwood
Lennert Buytenhek 35f029e251 [ARM] kirkwood: fix PCI I/O port assignment
Instead of allocating PCI devices I/O port bus addresses from the
000xxxxx I/O port range as intended, due to a bus versus physical
address mixup, the Kirkwood PCIe handling code inadvertently
allocated I/O port bus addresses from the f20xxxxx address range
(which is the physical address range of the PCIe I/O mapping window),
but then direct all I/O port accesses to bus addresses 000xxxxx,
which would then not be decoded at all.

Fix this by setting the base address of the PCIe I/O space struct
resource to KIRKWOOD_PCIE_IO_BUS_BASE instead of the incorrect
KIRKWOOD_PCIE_IO_PHYS_BASE, and fix up __io() to expect addresses
offsetted by the former instead of the latter.

(The suggested fix of directing I/O port accesses from the host to
bus addresses f20xxxxx instead has the problem that assigning full
32bit I/O port bus addresses (f20xxxxx) doesn't work on all PCI
devices, as not all PCI devices implement full 32 bit BAR registers
for I/O ports.  We should really try to allocate I/O port bus
addresses that fit in 16 bits.)

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-11-07 20:14:21 -05:00
..
include/mach [ARM] kirkwood: fix PCI I/O port assignment 2009-11-07 20:14:21 -05:00
addr-map.c [ARM] Kirkwood: create a mapping for the Security Accelerator SRAM 2009-06-08 13:05:02 -04:00
common.c [ARM] kirkwood: fix section mismatch 2009-11-05 23:03:21 -05:00
common.h [ARM] Kirkwood: create a mapping for the Security Accelerator SRAM 2009-06-08 13:05:02 -04:00
cpuidle.c [ARM] Kirkwood: CPU idle driver 2009-06-08 13:04:41 -04:00
db88f6281-bp-setup.c [ARM] Kirkwood: rationalize NAND setup a bit 2009-06-08 13:04:58 -04:00
irq.c [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
Kconfig [ARM] Kirkwood: Marvell OpenRD-Base board support 2009-08-10 18:03:59 -04:00
Makefile [ARM] Kirkwood: Marvell OpenRD-Base board support 2009-08-10 18:03:59 -04:00
Makefile.boot [ARM] add Marvell Kirkwood (88F6000) SoC support 2008-06-22 22:45:06 +02:00
mpp.c [ARM] orion: convert gpio to use gpiolib 2009-06-08 13:04:57 -04:00
mpp.h [ARM] Kirkwood: Correct header define 2009-07-06 23:54:56 -04:00
mv88f6281gtw_ge-setup.c [ARM] Kirkwood: enable gpio leds/buttons for the mv88f6281gtw_ge board 2009-06-08 13:04:55 -04:00
openrd_base-setup.c [ARM] OpenRD base: Initialize PCI express and i2c 2009-11-05 23:03:20 -05:00
pcie.c [ARM] kirkwood: fix PCI I/O port assignment 2009-11-07 20:14:21 -05:00
rd88f6192-nas-setup.c [ARM] Kirkwood: rationalize NAND setup a bit 2009-06-08 13:04:58 -04:00
rd88f6281-setup.c [ARM] Kirkwood: rationalize NAND setup a bit 2009-06-08 13:04:58 -04:00
sheevaplug-setup.c [ARM] Kirkwood: rationalize NAND setup a bit 2009-06-08 13:04:58 -04:00
ts219-setup.c [ARM] Kirkwood: enable eSATA on QNAP TS-219P 2009-08-24 11:56:00 -04:00