Blackfin: no-mpu: fix masking of small uncached dma region
When using an uncached DMA region less than 1 MiB, we try to mask off the whole last 1 MiB for it. Unfortunately, this fails as we forgot to subtract one from the calculated mask, leading to the region still be marked as cacheable. Reported-by: Andrew Rook <andrew.rook@speakerbus.co.uk> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
36e11ab23e
commit
398834330c
|
@ -116,7 +116,7 @@ void __init generate_cplb_tables_all(void)
|
|||
((_ramend - uncached_end) >= 1 * 1024 * 1024))
|
||||
dcplb_bounds[i_d].eaddr = uncached_end;
|
||||
else
|
||||
dcplb_bounds[i_d].eaddr = uncached_end & ~(1 * 1024 * 1024);
|
||||
dcplb_bounds[i_d].eaddr = uncached_end & ~(1 * 1024 * 1024 - 1);
|
||||
dcplb_bounds[i_d++].data = SDRAM_DGENERIC;
|
||||
/* DMA uncached region. */
|
||||
if (DMA_UNCACHED_REGION) {
|
||||
|
|
Loading…
Reference in New Issue