lkml.org 
[lkml]   [2016]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v4 6/7] mtd: nand: omap2: Fix high memory dma prefetch transfer
    Hi Franklin,

    On Thu, 10 Mar 2016 17:56:42 -0600
    Franklin S Cooper Jr <fcooper@ti.com> wrote:

    > Based on DMA documentation and testing using high memory buffer when
    > doing dma transfers can lead to various issues including kernel
    > panics.

    I guess it all comes from the vmalloced buffer case, which are not
    guaranteed to be physically contiguous (one of the DMA requirement,
    unless you have an iommu).

    >
    > To workaround this simply use cpu copy. The amount of high memory
    > buffers used are very uncommon so no noticeable performance hit should
    > be seen.

    Hm, that's not necessarily true. UBI and UBIFS allocate their buffers
    using vmalloc (vmalloced buffers fall in the high_memory region), and
    those are likely to be dis-contiguous if you have NANDs with pages > 4k.

    I recently posted patches to ease sg_table creation from any kind of
    virtual address [1][2]. Can you try them and let me know if it fixes
    your problem?

    Thanks,

    Boris

    [1]https://lkml.org/lkml/2016/3/8/276
    [2]https://lkml.org/lkml/2016/3/8/277


    --
    Boris Brezillon, Free Electrons
    Embedded Linux and Kernel engineering
    http://free-electrons.com

    \
     
     \ /
      Last update: 2016-03-21 16:41    [W:3.273 / U:0.392 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site