|
@@ -206,9 +206,10 @@ static int imxdma_hw_chain(struct imxdma_channel *imxdmac)
|
|
|
/*
|
|
|
* imxdma_sg_next - prepare next chunk for scatter-gather DMA emulation
|
|
|
*/
|
|
|
-static inline int imxdma_sg_next(struct imxdma_desc *d, struct scatterlist *sg)
|
|
|
+static inline int imxdma_sg_next(struct imxdma_desc *d)
|
|
|
{
|
|
|
struct imxdma_channel *imxdmac = to_imxdma_chan(d->desc.chan);
|
|
|
+ struct scatterlist *sg = d->sg;
|
|
|
unsigned long now;
|
|
|
|
|
|
now = min(d->len, sg->length);
|
|
@@ -251,7 +252,7 @@ static void imxdma_enable_hw(struct imxdma_desc *d)
|
|
|
d->sg = sg_next(d->sg);
|
|
|
if (d->sg) {
|
|
|
u32 tmp;
|
|
|
- imxdma_sg_next(d, d->sg);
|
|
|
+ imxdma_sg_next(d);
|
|
|
tmp = imx_dmav1_readl(DMA_CCR(channel));
|
|
|
imx_dmav1_writel(tmp | CCR_RPT | CCR_ACRPT,
|
|
|
DMA_CCR(channel));
|
|
@@ -365,7 +366,7 @@ static void dma_irq_handle_channel(struct imxdma_channel *imxdmac)
|
|
|
desc->sg = sg_next(desc->sg);
|
|
|
|
|
|
if (desc->sg) {
|
|
|
- imxdma_sg_next(desc, desc->sg);
|
|
|
+ imxdma_sg_next(desc);
|
|
|
|
|
|
tmp = imx_dmav1_readl(DMA_CCR(chno));
|
|
|
|
|
@@ -475,7 +476,7 @@ static int imxdma_xfer_desc(struct imxdma_desc *d)
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- imxdma_sg_next(d, d->sg);
|
|
|
+ imxdma_sg_next(d);
|
|
|
|
|
|
break;
|
|
|
default:
|