summaryrefslogtreecommitdiff
path: root/arch/ppc
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2006-01-06 00:11:34 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 08:33:31 -0800
commit4aa7c80193c561e52c06351e0f521e697954a859 (patch)
tree97aeb99b3e58355601a2aefd508f9b6f4e991421 /arch/ppc
parentd62de3aa8ac762c09845aa38634a845da55f31dc (diff)
downloadlinux-3.10-4aa7c80193c561e52c06351e0f521e697954a859.tar.gz
linux-3.10-4aa7c80193c561e52c06351e0f521e697954a859.tar.bz2
linux-3.10-4aa7c80193c561e52c06351e0f521e697954a859.zip
[PATCH] ppc32: Fix static IO mapping for Freescale MPC52xx
The current iomapping used MBAR_SIZE for the size argument of io_block_mapping, resulting in a call to setbat with a size argument of 64k which is invalid. This patch correct this and maps the whole 0xf0000000->0xffffffff range so that devices on the local bus are also included in the BAT mapping. Thanks to Bernhard Kuhn from Metrowerks for pointing this out. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc')
-rw-r--r--arch/ppc/syslib/mpc52xx_setup.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/ppc/syslib/mpc52xx_setup.c b/arch/ppc/syslib/mpc52xx_setup.c
index bb2374585a7..a4a4b02227d 100644
--- a/arch/ppc/syslib/mpc52xx_setup.c
+++ b/arch/ppc/syslib/mpc52xx_setup.c
@@ -84,9 +84,11 @@ mpc52xx_set_bat(void)
void __init
mpc52xx_map_io(void)
{
- /* Here we only map the MBAR */
+ /* Here we map the MBAR and the whole upper zone. MBAR is only
+ 64k but we can't map only 64k with BATs. Map the whole
+ 0xf0000000 range is ok and helps eventual lpb devices placed there */
io_block_mapping(
- MPC52xx_MBAR_VIRT, MPC52xx_MBAR, MPC52xx_MBAR_SIZE, _PAGE_IO);
+ MPC52xx_MBAR_VIRT, MPC52xx_MBAR, 0x10000000, _PAGE_IO);
}