1. 01 Jun, 2014 1 commit
    • Jiada Wang's avatar
      dmaengine: imx: correct sdmac->status for cyclic dma tx · ffe59b29
      Jiada Wang authored
      In cyclic dma tx's handler sdma_handle_channel_loop(),
      SDMA channel statue is set to either DMA_ERROR or DMA_IN_PROGRESS
      based on each period's status. This has the following issues:
      
      1) If one period's status is BD_RROR, then channel status
         will be set to DMA_ERROR, but it will be overwritten to DMA_IN_PROGRESS
         if the following periods are OK.
      2) DMA client may call sdma_control(DMA_TERMINATE_ALL) to stop the cyclic dma
         operation, sdma channel status will be set to DMA_ERROR,
         but if after this handler is called, then again the channel status will be overwritten
         to DMA_IN_PROGRESS. Then the following dmaengine_prep_dma_cyclic() will always fail,
         as channel status is DMA_IN_PROGRESS.
      
      As in cyclic dma tx, channel status will be initially set to DMA_IN_PROGRESS,
      driver only needs to change it to DMA_ERROR, when something wrong happens
      (one period status is wrong, or stoped by client explicitly).
      Signed-off-by: default avatarJiada Wang <jiada_wang@mentor.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      ffe59b29
  2. 22 May, 2014 4 commits
  3. 21 May, 2014 1 commit
  4. 07 May, 2014 8 commits
  5. 02 May, 2014 13 commits
  6. 30 Apr, 2014 8 commits
  7. 29 Apr, 2014 1 commit
  8. 23 Apr, 2014 1 commit
  9. 22 Apr, 2014 3 commits