lkml.org 
[lkml]   [2018]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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

    \
     
     \ /
      Last update: 2018-01-05 19:04    [W:2.495 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site