[lkml]   [2010]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH v3] ad7877: keep dma rx buffers in seperate cache lines
    On Mon, May 10, 2010 at 17:22, Andrew Morton wrote:
    > On Mon, 10 May 2010 12:42:34 +0200 "Oskar Schirmer" wrote:
    >> With dma based spi transmission, data corruption
    >> is observed occasionally. With dma buffers located
    >> right next to msg and xfer fields, cache lines
    >> correctly flushed in preparation for dma usage
    >> may be polluted again when writing to fields
    >> in the same cache line.
    >> Make sure cache fields used with dma do not
    >> share cache lines with fields changed during
    >> dma handling. As both fields are part of a
    >> struct that is allocated via kzalloc, thus
    >> cache aligned, moving the fields to the 1st
    >> position and insert padding for alignment
    >> does the job.
    > This sounds odd.  Doesn't it imply that some code somewhere is missing
    > some DMA synchronisation actions?

    i think it's kind of dumb and induces this sort of bug
    semi-frequently, but it is what the current DMA API requires (see like
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2010-05-12 10:35    [W:0.022 / U:41.404 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site