Messages in this thread | | | Date | Fri, 05 Jan 2018 19:03:52 +0100 | From | Paul Cercueil <> | Subject | Re: [PATCH v5 13/15] MIPS: JZ4770: Workaround for corrupted DMA transfers |
| |
Hi, Hi,
>> [...] >> >> +/* >> + * We have seen MMC DMA transfers read corrupted data from SDRAM >> when a burst >> + * interval ends at physical address 0x10000000. To avoid this >> problem, we >> + * remove the final page of low memory from the memory map. >> + */ >> +void __init jz4770_reserve_unsafe_for_dma(void) >> +{ >> + int i; >> + >> + for (i = 0; i < boot_mem_map.nr_map; i++) { >> + struct boot_mem_map_entry *entry = boot_mem_map.map >> + i; >> + >> + if (entry->type != BOOT_MEM_RAM) >> + continue; >> + >> + if (entry->addr + entry->size != 0x10000000) >> + continue; >> + >> + entry->size -= PAGE_SIZE; >> + break; >> + } >> +} >> + > > Just a wild idea (probably bad too). Changing the memory node in the > device tree to skip this physical address would work I think. What is > your opinion about that?
I guess it would work as well, but I don't think this fix should be in devicetree.
-Paul
| |