[lkml]   [2012]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRE: [PATCH] ep93xx: Implement double buffering for M2M DMA channels
    On Thursday, March 22, 2012 1:04 PM, Mika Westerberg wrote:
    > On Thu, Mar 22, 2012 at 01:52:52PM -0500, H Hartley Sweeten wrote:
    >> I hacked this back to the handle_one_vic function. It looks like every time
    >> I get the message above the stat read in that function shows an active
    >> interrupt for DMAM2M0 (the dma rx channel) and DMAM2M1 (the dma
    >> tx channel). Because of the way handle_one_vic processes the irq's, the
    >> DMAM2M0 interrupt gets handled first. When it's done it must be clearing
    >> the DMAM2M1 interrupt automatically for some reason. So, when it's
    >> handled there is no interrupt pending so we get the message.
    >> The "cleanest" fix I can think of is the following patch. This is against
    >> linux-next.
    > I can't figure out any better fix unless we move ep93xx back to use
    > !MULTI_IRQ_HANDLER which obviously is not good thing to do.


    I wonder if the spurious interrupts were the real problem behind what
    was causing the Oops that prompted your patch:

    dma/ep93xx_dma: prevent ep93xx_dma_tasklet() to reference an empty list



     \ /
      Last update: 2012-03-23 00:59    [W:0.036 / U:11.032 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site