History

mach-integrator: fix VGA base regression

The changes introduced in commit cc22b4c18540e5e8bf55c7d124044f9317527d3c "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.

Linus Walleij committed 15 years ago

Commit b71d8421 parent a0638eb2 files · +2 −2Browse files

Unified · Split

2 files
  1. arch/arm/mach-integrator/integrator_ap.c +2 −0
  2. arch/arm/mach-integrator/pci_v3.c +0 −2
arch/arm/mach-integrator/integrator_ap.c+2−0
@@ -32,6 +32,7 @@ · 31 unmodified lines
32#include <linux/interrupt.h>32#include <linux/interrupt.h>
33#include <linux/io.h>33#include <linux/io.h>
34#include <linux/mtd/physmap.h>34#include <linux/mtd/physmap.h>
35#include <video/vga.h>
35 36
36#include <mach/hardware.h>37#include <mach/hardware.h>
37#include <mach/platform.h>38#include <mach/platform.h>
@@ -154,6 +155,7 @@ static struct map_desc ap_io_desc[] __initdata = { · 116 unmodified lines
154static void __init ap_map_io(void)155static void __init ap_map_io(void)
155{156{
156 iotable_init(ap_io_desc, ARRAY_SIZE(ap_io_desc));157 iotable_init(ap_io_desc, ARRAY_SIZE(ap_io_desc));
158 vga_base = PCI_MEMORY_VADDR;
157}159}
158 160
159#define INTEGRATOR_SC_VALID_INT 0x003fffff161#define INTEGRATOR_SC_VALID_INT 0x003fffff
arch/arm/mach-integrator/pci_v3.c+0−2
@@ -27,7 +27,6 @@ · 26 unmodified lines
27#include <linux/spinlock.h>27#include <linux/spinlock.h>
28#include <linux/init.h>28#include <linux/init.h>
29#include <linux/io.h>29#include <linux/io.h>
30#include <video/vga.h>
31 30
32#include <mach/hardware.h>31#include <mach/hardware.h>
33#include <mach/platform.h>32#include <mach/platform.h>
@@ -505,7 +504,6 @@ void __init pci_v3_preinit(void) · 471 unmodified lines
505 504
506 pcibios_min_io = 0x6000;505 pcibios_min_io = 0x6000;
507 pcibios_min_mem = 0x00100000;506 pcibios_min_mem = 0x00100000;
508 vga_base = PCI_MEMORY_VADDR;
509 507
510 /*508 /*
511 * Hook in our fault handler for PCI errors509 * Hook in our fault handler for PCI errors