]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
DMA: PL330: allow submitting 2 requests at a time
authorJassi Brar <jaswinder.singh@linaro.org>
Wed, 13 Feb 2013 10:43:14 +0000 (16:13 +0530)
committerVinod Koul <vinod.koul@intel.com>
Mon, 1 Apr 2013 16:42:09 +0000 (22:12 +0530)
Fix the logic to allow mc programming of second transfer after first
has been done, by removing immediate return upon success and iterating
until we detect QFull or DMAC dying.

Reported-by: Alvaro Moran <dirac3000@gmail.com>
Tested-by: Alvaro Moran <dirac3000@gmail.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/pl330.c

index 7181531227595475a907a4955b69324bb5c5e460..14fd122eb77898949ee9d4f55e103e25d6e78755 100644 (file)
@@ -2288,13 +2288,12 @@ static inline void fill_queue(struct dma_pl330_chan *pch)
 
                /* If already submitted */
                if (desc->status == BUSY)
-                       break;
+                       continue;
 
                ret = pl330_submit_req(pch->pl330_chid,
                                                &desc->req);
                if (!ret) {
                        desc->status = BUSY;
-                       break;
                } else if (ret == -EAGAIN) {
                        /* QFull or DMAC Dying */
                        break;