ARM: set vga memory base at run-time
authorRob Herring <rob.herring@calxeda.com>
Wed, 29 Jun 2011 02:22:40 +0000 (21:22 -0500)
committerRob Herring <rob.herring@calxeda.com>
Tue, 12 Jul 2011 16:19:29 +0000 (11:19 -0500)
Convert the incorrectly named PCIMEM_BASE to a variable called vga_base.
This removes the dependency on mach/hardware.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
15 files changed:
arch/arm/include/asm/vga.h
arch/arm/mach-dove/include/mach/hardware.h
arch/arm/mach-dove/pcie.c
arch/arm/mach-footbridge/dc21285.c
arch/arm/mach-integrator/include/mach/hardware.h
arch/arm/mach-integrator/pci_v3.c
arch/arm/mach-kirkwood/include/mach/hardware.h
arch/arm/mach-kirkwood/pcie.c
arch/arm/mach-mv78xx0/include/mach/hardware.h
arch/arm/mach-mv78xx0/pcie.c
arch/arm/mach-orion5x/include/mach/hardware.h
arch/arm/mach-orion5x/pci.c
arch/arm/mach-shark/include/mach/hardware.h
arch/arm/mach-shark/pci.c
arch/arm/mm/iomap.c

index 250a4dd00630f135c09e3fb474092ed4b9ba1b04..91f40217bfa53e6077d358259f0e81384738e899 100644 (file)
@@ -2,9 +2,10 @@
 #define ASMARM_VGA_H
 
 #include <linux/io.h>
-#include <mach/hardware.h>
 
-#define VGA_MAP_MEM(x,s)       (PCIMEM_BASE + (x))
+extern unsigned long vga_base;
+
+#define VGA_MAP_MEM(x,s)       (vga_base + (x))
 
 #define vga_readb(x)   (*((volatile unsigned char *)x))
 #define vga_writeb(x,y)        (*((volatile unsigned char *)y) = (x))
index 94c5a2cf5481595e916b6087d4a3589d8d8b8747..f1368b9a8ece777b038961b2001b04cd09f3454a 100644 (file)
@@ -11,9 +11,6 @@
 
 #include "dove.h"
 
-#define PCIMEM_BASE                    DOVE_PCIE0_MEM_PHYS_BASE
-
-
 /* Macros below are required for compatibility with PXA AC'97 driver.  */
 #define __REG(x)       (*((volatile u32 *)((x) - DOVE_SB_REGS_PHYS_BASE + \
                                DOVE_SB_REGS_VIRT_BASE)))
index 502d1ca2f4b70aad75b04146f1237e5dd1fdbe3d..c2f1c4767f219a8c20ef6f9592db9676133e07ee 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/kernel.h>
 #include <linux/pci.h>
 #include <linux/mbus.h>
+#include <video/vga.h>
 #include <asm/mach/pci.h>
 #include <asm/mach/arch.h>
 #include <asm/setup.h>
@@ -228,6 +229,8 @@ static void __init add_pcie_port(int index, unsigned long base)
 
 void __init dove_pcie_init(int init_port0, int init_port1)
 {
+       vga_base = DOVE_PCIE0_MEM_PHYS_BASE;
+
        if (init_port0)
                add_pcie_port(0, DOVE_PCIE0_VIRT_BASE);
 
index a8dfa00e45966c51003b03b0bb2fa23d424c9094..1331fff51ae25352803b094a1a678b5a1ed9400e 100644 (file)
@@ -296,6 +296,7 @@ void __init dc21285_preinit(void)
        int cfn_mode;
 
        pcibios_min_mem = 0x81000000;
+       vga_base = PCIMEM_BASE;
 
        mem_size = (unsigned int)high_memory - PAGE_OFFSET;
        for (mem_mask = 0x00100000; mem_mask < 0x10000000; mem_mask <<= 1)
index 0ce52121dabe2bdb008adb659e13ea4a156ed0ec..65fed7c0eb843d05c80234a59081780c1823db34 100644 (file)
@@ -32,8 +32,6 @@
 #define IO_SIZE                        0x0B000000                 // How much?
 #define IO_START               INTEGRATOR_HDR_BASE        // PA of IO
 
-#define PCIMEM_BASE            PCI_MEMORY_VADDR
-
 /* macro to get at IO space when running virtually */
 #ifdef CONFIG_MMU
 #define IO_ADDRESS(x)  (((x) & 0x000fffff) | (((x) >> 4) & 0x0ff00000) | IO_BASE)
index 11b86e5b71c29546c013b575e56f5217e8f7147a..dd56bfb351e3b6d1db4bf65154b0d2da6b6d1580 100644 (file)
@@ -27,6 +27,7 @@
 #include <linux/spinlock.h>
 #include <linux/init.h>
 #include <linux/io.h>
+#include <video/vga.h>
 
 #include <mach/hardware.h>
 #include <mach/platform.h>
@@ -504,6 +505,7 @@ void __init pci_v3_preinit(void)
 
        pcibios_min_io = 0x6000;
        pcibios_min_mem = 0x00100000;
+       vga_base = PCI_MEMORY_VADDR;
 
        /*
         * Hook in our fault handler for PCI errors
index 470899b6a3f547d1623126b75ff8562ab02634f7..742b74f43e41b6affb54c519a0fbfd14fe2a0843 100644 (file)
@@ -11,7 +11,4 @@
 
 #include "kirkwood.h"
 
-#define PCIMEM_BASE                    KIRKWOOD_PCIE_MEM_PHYS_BASE /* mem base for VGA */
-
-
 #endif
index ca294ff6d5be02a4d6103a16db7e4666fa80c83c..bfeb9c900cec0573ba49e0237228bc80721ff58e 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/pci.h>
 #include <linux/slab.h>
 #include <linux/mbus.h>
+#include <video/vga.h>
 #include <asm/irq.h>
 #include <asm/mach/pci.h>
 #include <plat/pcie.h>
@@ -271,6 +272,8 @@ static void __init add_pcie_port(int index, unsigned long base)
 
 void __init kirkwood_pcie_init(unsigned int portmask)
 {
+       vga_base = KIRKWOOD_PCIE_MEM_PHYS_BASE;
+
        if (portmask & KW_PCIE0)
                add_pcie_port(0, PCIE_VIRT_BASE);
 
index 29e37ed5f7f5e17f212c5073f2f0bb59807ee4f2..67cab0a08e076dc5df43e0c80db1568a83c820bb 100644 (file)
@@ -11,7 +11,4 @@
 
 #include "mv78xx0.h"
 
-#define PCIMEM_BASE                    MV78XX0_PCIE_MEM_PHYS_BASE /* mem base for VGA */
-
-
 #endif
index a560439dcc3c81b9aa27127fbdd2358bd16664d1..445a332325d5a9c14d6e3906cb289260064efa66 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/kernel.h>
 #include <linux/pci.h>
 #include <linux/mbus.h>
+#include <video/vga.h>
 #include <asm/irq.h>
 #include <asm/mach/pci.h>
 #include <plat/pcie.h>
@@ -297,6 +298,8 @@ static void __init add_pcie_port(int maj, int min, unsigned long base)
 
 void __init mv78xx0_pcie_init(int init_port0, int init_port1)
 {
+       vga_base = MV78XX0_PCIE_MEM_PHYS_BASE;
+
        if (init_port0) {
                add_pcie_port(0, 0, PCIE00_VIRT_BASE);
                if (!orion_pcie_x4_mode((void __iomem *)PCIE00_VIRT_BASE)) {
index b6d55bc3b2f8df553f27e14d65c92411eacda145..395735482473bcbd17795f7e6e79b5d1593ba35a 100644 (file)
@@ -11,7 +11,4 @@
 
 #include "orion5x.h"
 
-#define PCIMEM_BASE            ORION5X_PCIE_MEM_PHYS_BASE
-
-
 #endif
index e8706f15a670638e90711f6cf4108076c8cf1cc9..f64965d4f8e8c277ae94b363e104e98beaf1144a 100644 (file)
@@ -560,6 +560,8 @@ int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys)
 {
        int ret = 0;
 
+       vga_base = ORION5X_PCIE_MEM_PHYS_BASE;
+
        if (nr == 0) {
                orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr);
                ret = pcie_setup(sys);
index 4342931a1502fcd2b2cbe8c8dcb8bfa42bca4986..663f952a8ab3abd2ca186703362eacca430f8324 100644 (file)
@@ -12,7 +12,5 @@
 
 #define UNCACHEABLE_ADDR        0xdf010000
 
-#define PCIMEM_BASE            0xe8000000
-
 #endif
 
index 4aea637a2ddb66a71e441e7cda78eb4d70616486..92d7227de0ac5648cc42a1097343d2f0a71e8779 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/kernel.h>
 #include <linux/pci.h>
 #include <linux/init.h>
+#include <video/vga.h>
 
 #include <asm/irq.h>
 #include <asm/mach/pci.h>
@@ -42,6 +43,7 @@ static int __init shark_pci_init(void)
 
        pcibios_min_io = 0x6000;
        pcibios_min_mem = 0x50000000;
+       vga_base = 0xe8000000;
 
        pci_common_init(&shark_pci);
 
index 3d46cf466c4c10b989a5816fc4a394370b97307e..430df1a5978d04d198a88f2448c8a2de67c7e963 100644 (file)
@@ -9,6 +9,9 @@
 #include <linux/ioport.h>
 #include <linux/io.h>
 
+unsigned long vga_base;
+EXPORT_SYMBOL(vga_base);
+
 #ifdef __io
 void __iomem *ioport_map(unsigned long port, unsigned int nr)
 {