Skip to content

Commit

Permalink
mach-integrator: fix VGA base regression
Browse files Browse the repository at this point in the history
The changes introduced in commit
cc22b4c
"ARM: set vga memory base at run-time"

Makes the Integrator/AP freeze completely. I appears that
this is due to the VGA base address being assigned at PCI
init time, while this base is needed earlier than that.
Moving the initialization of the base address to the
.map_io function solves this problem.

Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
linusw authored and arndb committed Sep 20, 2011
1 parent a0638eb commit b71d842
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 2 additions & 0 deletions arch/arm/mach-integrator/integrator_ap.c
Expand Up @@ -32,6 +32,7 @@
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/mtd/physmap.h>
#include <video/vga.h>

#include <mach/hardware.h>
#include <mach/platform.h>
Expand Down Expand Up @@ -154,6 +155,7 @@ static struct map_desc ap_io_desc[] __initdata = {
static void __init ap_map_io(void)
{
iotable_init(ap_io_desc, ARRAY_SIZE(ap_io_desc));
vga_base = PCI_MEMORY_VADDR;
}

#define INTEGRATOR_SC_VALID_INT 0x003fffff
Expand Down
2 changes: 0 additions & 2 deletions arch/arm/mach-integrator/pci_v3.c
Expand Up @@ -27,7 +27,6 @@
#include <linux/spinlock.h>
#include <linux/init.h>
#include <linux/io.h>
#include <video/vga.h>

#include <mach/hardware.h>
#include <mach/platform.h>
Expand Down Expand Up @@ -505,7 +504,6 @@ 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
Expand Down

0 comments on commit b71d842

Please sign in to comment.