Lines Matching refs:dcsr
120 u32 dcsr; member
174 u32 dcsr; in sa11x0_dma_start_sg() local
179 dcsr = readl_relaxed(base + DMA_DCSR_R); in sa11x0_dma_start_sg()
182 if ((dcsr & (DCSR_STRTA | DCSR_STRTB)) == (DCSR_STRTA | DCSR_STRTB)) in sa11x0_dma_start_sg()
205 if (((dcsr & (DCSR_BIU | DCSR_STRTB)) == (DCSR_BIU | DCSR_STRTB)) || in sa11x0_dma_start_sg()
206 ((dcsr & (DCSR_BIU | DCSR_STRTA)) == 0)) { in sa11x0_dma_start_sg()
209 dcsr = DCSR_STRTA | DCSR_IE | DCSR_RUN; in sa11x0_dma_start_sg()
213 dcsr = DCSR_STRTB | DCSR_IE | DCSR_RUN; in sa11x0_dma_start_sg()
218 writel(dcsr, base + DMA_DCSR_S); in sa11x0_dma_start_sg()
221 p->num, dcsr, in sa11x0_dma_start_sg()
257 u32 dcsr; in sa11x0_dma_irq() local
259 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_irq()
260 if (!(dcsr & (DCSR_ERROR | DCSR_DONEA | DCSR_DONEB))) in sa11x0_dma_irq()
264 writel_relaxed(dcsr & (DCSR_ERROR | DCSR_DONEA | DCSR_DONEB), in sa11x0_dma_irq()
267 dev_dbg(d->slave.dev, "pchan %u: irq: DCSR:%02x\n", p->num, dcsr); in sa11x0_dma_irq()
269 if (dcsr & DCSR_ERROR) { in sa11x0_dma_irq()
271 p->num, dcsr, in sa11x0_dma_irq()
292 if (dcsr & DCSR_DONEA) in sa11x0_dma_irq()
294 if (dcsr & DCSR_DONEB) in sa11x0_dma_irq()
456 u32 dcsr; in sa11x0_dma_pos() local
458 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_pos()
460 if ((dcsr & (DCSR_BIU | DCSR_STRTA)) == DCSR_STRTA || in sa11x0_dma_pos()
461 (dcsr & (DCSR_BIU | DCSR_STRTB)) == DCSR_BIU) in sa11x0_dma_pos()
999 u32 dcsr, saved_dcsr; in sa11x0_dma_suspend() local
1001 dcsr = saved_dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_suspend()
1002 if (dcsr & DCSR_RUN) { in sa11x0_dma_suspend()
1004 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_suspend()
1008 if (dcsr & DCSR_BIU) { in sa11x0_dma_suspend()
1013 saved_dcsr |= (dcsr & DCSR_STRTA ? DCSR_STRTB : 0) | in sa11x0_dma_suspend()
1014 (dcsr & DCSR_STRTB ? DCSR_STRTA : 0); in sa11x0_dma_suspend()
1020 saved_dcsr |= dcsr & (DCSR_STRTA | DCSR_STRTB); in sa11x0_dma_suspend()
1022 p->dcsr = saved_dcsr; in sa11x0_dma_suspend()
1038 u32 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_resume() local
1040 WARN_ON(dcsr & (DCSR_BIU | DCSR_STRTA | DCSR_STRTB | DCSR_RUN)); in sa11x0_dma_resume()
1056 writel_relaxed(p->dcsr, p->base + DMA_DCSR_S); in sa11x0_dma_resume()