aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-versatile/include/mach
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2013-08-22 12:47:49 -0400
committerKevin Hilman <khilman@linaro.org>2013-09-04 17:53:26 -0400
commit829f9fedee30cde2ec15e88d57ec11074db791e2 (patch)
tree331a7e28950bc5cfab94f8d7faabd589a0c5df90 /arch/arm/mach-versatile/include/mach
parentf9b71fef12f0d6ac5c7051cfd87f7700f78c56b6 (diff)
ARM: PCI: versatile: Fix PCI I/O
The versatile PCI controller code was confused between the PCI I/O window (at 0x43000000) and the first PCI memory window (at 0x44000000). Pass the correct base address to pci_remap_io() so that PCI I/O accesses work. Since the first PCI memory window isn't used at all (it's an odd size), rename the associated variables and labels so that it's clear that it isn't related to the I/O window. This has been tested and confirmed to fix PCI I/O accesses both on physical PB926+PCI backplane hardware and on QEMU. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Cc: stable@vger.kernel.org Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'arch/arm/mach-versatile/include/mach')
-rw-r--r--arch/arm/mach-versatile/include/mach/platform.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-versatile/include/mach/platform.h b/arch/arm/mach-versatile/include/mach/platform.h
index ec087407b163..6f938ccb0c54 100644
--- a/arch/arm/mach-versatile/include/mach/platform.h
+++ b/arch/arm/mach-versatile/include/mach/platform.h
@@ -231,12 +231,14 @@
231/* PCI space */ 231/* PCI space */
232#define VERSATILE_PCI_BASE 0x41000000 /* PCI Interface */ 232#define VERSATILE_PCI_BASE 0x41000000 /* PCI Interface */
233#define VERSATILE_PCI_CFG_BASE 0x42000000 233#define VERSATILE_PCI_CFG_BASE 0x42000000
234#define VERSATILE_PCI_IO_BASE 0x43000000
234#define VERSATILE_PCI_MEM_BASE0 0x44000000 235#define VERSATILE_PCI_MEM_BASE0 0x44000000
235#define VERSATILE_PCI_MEM_BASE1 0x50000000 236#define VERSATILE_PCI_MEM_BASE1 0x50000000
236#define VERSATILE_PCI_MEM_BASE2 0x60000000 237#define VERSATILE_PCI_MEM_BASE2 0x60000000
237/* Sizes of above maps */ 238/* Sizes of above maps */
238#define VERSATILE_PCI_BASE_SIZE 0x01000000 239#define VERSATILE_PCI_BASE_SIZE 0x01000000
239#define VERSATILE_PCI_CFG_BASE_SIZE 0x02000000 240#define VERSATILE_PCI_CFG_BASE_SIZE 0x02000000
241#define VERSATILE_PCI_IO_BASE_SIZE 0x01000000
240#define VERSATILE_PCI_MEM_BASE0_SIZE 0x0c000000 /* 32Mb */ 242#define VERSATILE_PCI_MEM_BASE0_SIZE 0x0c000000 /* 32Mb */
241#define VERSATILE_PCI_MEM_BASE1_SIZE 0x10000000 /* 256Mb */ 243#define VERSATILE_PCI_MEM_BASE1_SIZE 0x10000000 /* 256Mb */
242#define VERSATILE_PCI_MEM_BASE2_SIZE 0x10000000 /* 256Mb */ 244#define VERSATILE_PCI_MEM_BASE2_SIZE 0x10000000 /* 256Mb */