Commit 73499682 authored by Elizabeth Oldham's avatar Elizabeth Oldham Committed by Ralf Baechle

[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: default avatarRalf Baechle <ralf@linux-mips.org>
parent 427abfa2
...@@ -76,6 +76,15 @@ struct prom_pmemblock * __init prom_getmdesc(void) ...@@ -76,6 +76,15 @@ struct prom_pmemblock * __init prom_getmdesc(void)
memsize = simple_strtol(memsize_str, NULL, 0); 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)); memset(mdesc, 0, sizeof(mdesc));
mdesc[0].type = yamon_dontuse; mdesc[0].type = yamon_dontuse;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment