[MIPS] Malta: Handle byteswapping hardare bug in big endian mode.
The SOC-it system controller running in big endian mode might forget byteswapping when DMAing to the last word of physical memory. Fixed by ignoring the last page of memory. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
427abfa28a
commit
734996820f
|
@ -76,6 +76,15 @@ struct prom_pmemblock * __init prom_getmdesc(void)
|
|||
memsize = simple_strtol(memsize_str, NULL, 0);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CPU_BIG_ENDIAN
|
||||
/*
|
||||
* SOC-it swaps, or perhaps doesn't swap, when DMA'ing the last
|
||||
* word of physical memory
|
||||
*/
|
||||
memsize -= PAGE_SIZE;
|
||||
#endif
|
||||
|
||||
memset(mdesc, 0, sizeof(mdesc));
|
||||
|
||||
mdesc[0].type = yamon_dontuse;
|
||||
|
|
Loading…
Reference in New Issue