[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:
Elizabeth Oldham 2006-06-06 10:57:09 +01:00 committed by Ralf Baechle
parent 427abfa28a
commit 734996820f
1 changed files with 9 additions and 0 deletions

View File

@ -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;