Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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;