diff options
| author | Sylvain Munaut <tnt@246tNt.com> | 2006-01-06 03:11:34 -0500 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:33:31 -0500 | 
| commit | 4aa7c80193c561e52c06351e0f521e697954a859 (patch) | |
| tree | 97aeb99b3e58355601a2aefd508f9b6f4e991421 | |
| parent | d62de3aa8ac762c09845aa38634a845da55f31dc (diff) | |
[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>
| -rw-r--r-- | arch/ppc/syslib/mpc52xx_setup.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/ppc/syslib/mpc52xx_setup.c b/arch/ppc/syslib/mpc52xx_setup.c index bb2374585a7b..a4a4b02227df 100644 --- a/arch/ppc/syslib/mpc52xx_setup.c +++ b/arch/ppc/syslib/mpc52xx_setup.c  | |||
| @@ -84,9 +84,11 @@ mpc52xx_set_bat(void) | |||
| 84 | void __init | 84 | void __init | 
| 85 | mpc52xx_map_io(void) | 85 | mpc52xx_map_io(void) | 
| 86 | { | 86 | { | 
| 87 | /* Here we only map the MBAR */ | 87 | /* Here we map the MBAR and the whole upper zone. MBAR is only | 
| 88 | 64k but we can't map only 64k with BATs. Map the whole | ||
| 89 | 0xf0000000 range is ok and helps eventual lpb devices placed there */ | ||
| 88 | io_block_mapping( | 90 | io_block_mapping( | 
| 89 | MPC52xx_MBAR_VIRT, MPC52xx_MBAR, MPC52xx_MBAR_SIZE, _PAGE_IO); | 91 | MPC52xx_MBAR_VIRT, MPC52xx_MBAR, 0x10000000, _PAGE_IO); | 
| 90 | } | 92 | } | 
| 91 | 93 | ||
| 92 | 94 | ||
