aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/dma/mpc512x_dma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/mpc512x_dma.c b/drivers/dma/mpc512x_dma.c
index 4e9cbf300594..1bc04aa27b14 100644
--- a/drivers/dma/mpc512x_dma.c
+++ b/drivers/dma/mpc512x_dma.c
@@ -252,11 +252,13 @@ static void mpc_dma_execute(struct mpc_dma_chan *mchan)
252 prev = mdesc; 252 prev = mdesc;
253 } 253 }
254 254
255 prev->tcd->start = 0;
256 prev->tcd->int_maj = 1; 255 prev->tcd->int_maj = 1;
257 256
258 /* Send first descriptor in chain into hardware */ 257 /* Send first descriptor in chain into hardware */
259 memcpy_toio(&mdma->tcd[cid], first->tcd, sizeof(struct mpc_dma_tcd)); 258 memcpy_toio(&mdma->tcd[cid], first->tcd, sizeof(struct mpc_dma_tcd));
259
260 if (first != prev)
261 mdma->tcd[cid].e_sg = 1;
260 out_8(&mdma->regs->dmassrt, cid); 262 out_8(&mdma->regs->dmassrt, cid);
261} 263}
262 264