Commit 7f28fd6e authored by Andrew Lunn's avatar Andrew Lunn Committed by Jason Cooper
Browse files

ARM: kirkwood: ioremap the cpu_config register before using it.



With the move to mach-mvebu and MULTI_V5, the global iomap for all
registers will be going away. So explicitly map the CPU configuration
register before using it.

Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Tested-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent dab7dfb6
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -191,15 +191,23 @@ eth_fixup_skip:
	}
}

static void __init kirkwood_dt_init(void)
{
/*
	 * Disable propagation of mbus errors to the CPU local bus,
	 * as this causes mbus errors (which can occur for example
	 * for PCI aborts) to throw CPU aborts, which we're not set
	 * up to deal with.
 * Disable propagation of mbus errors to the CPU local bus, as this
 * causes mbus errors (which can occur for example for PCI aborts) to
 * throw CPU aborts, which we're not set up to deal with.
 */
	writel(readl(CPU_CONFIG) & ~CPU_CONFIG_ERROR_PROP, CPU_CONFIG);
static void __init kirkwood_disable_mbus_error_propagation(void)
{
	void __iomem *cpu_config;

	cpu_config = ioremap(CPU_CONFIG_PHYS, 4);
	writel(readl(cpu_config) & ~CPU_CONFIG_ERROR_PROP, cpu_config);
	iounmap(cpu_config);
}

static void __init kirkwood_dt_init(void)
{
	kirkwood_disable_mbus_error_propagation();

	BUG_ON(mvebu_mbus_dt_init());

+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include <mach/kirkwood.h>

#define CPU_CONFIG		(BRIDGE_VIRT_BASE + 0x0100)
#define CPU_CONFIG_PHYS		(BRIDGE_PHYS_BASE + 0x0100)
#define CPU_CONFIG_ERROR_PROP	0x00000004

#define CPU_CONTROL		(BRIDGE_VIRT_BASE + 0x0104)