• B
    davinci: edma: clear events in edma_start() · bb17ef10
    Brian Niebuhr 提交于
    This patch fixes an issue where a DMA channel can erroneously process an
    event generated by a previous transfer.  A failure case is where DMA is
    being used for SPI transmit and receive channels on OMAP L138.  In this
    case there is a single bit that controls all event generation from the
    SPI peripheral.  Therefore it is possible that between when edma_stop()
    has been called for the transmit channel on a previous transfer and
    edma_start() is called for the transmit channel on a subsequent transfer,
    that a transmit event has been generated.
    
    The fix is to clear events in edma_start().  This prevents false events
    from being processed when events are enabled for that channel.
    Signed-off-by: NBrian Niebuhr <bniebuhr@efjohnson.com>
    Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
    bb17ef10
dma.c 43.8 KB