Lines Matching refs:dcsr
114 u32 dcsr; member
165 u32 dcsr; in sa11x0_dma_start_sg() local
170 dcsr = readl_relaxed(base + DMA_DCSR_R); in sa11x0_dma_start_sg()
173 if ((dcsr & (DCSR_STRTA | DCSR_STRTB)) == (DCSR_STRTA | DCSR_STRTB)) in sa11x0_dma_start_sg()
201 if (((dcsr & (DCSR_BIU | DCSR_STRTB)) == (DCSR_BIU | DCSR_STRTB)) || in sa11x0_dma_start_sg()
202 ((dcsr & (DCSR_BIU | DCSR_STRTA)) == 0)) { in sa11x0_dma_start_sg()
205 dcsr = DCSR_STRTA | DCSR_IE | DCSR_RUN; in sa11x0_dma_start_sg()
209 dcsr = DCSR_STRTB | DCSR_IE | DCSR_RUN; in sa11x0_dma_start_sg()
214 writel(dcsr, base + DMA_DCSR_S); in sa11x0_dma_start_sg()
217 p->num, dcsr, in sa11x0_dma_start_sg()
253 u32 dcsr; in sa11x0_dma_irq() local
255 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_irq()
256 if (!(dcsr & (DCSR_ERROR | DCSR_DONEA | DCSR_DONEB))) in sa11x0_dma_irq()
260 writel_relaxed(dcsr & (DCSR_ERROR | DCSR_DONEA | DCSR_DONEB), in sa11x0_dma_irq()
263 dev_dbg(d->slave.dev, "pchan %u: irq: DCSR:%02x\n", p->num, dcsr); in sa11x0_dma_irq()
265 if (dcsr & DCSR_ERROR) { in sa11x0_dma_irq()
267 p->num, dcsr, in sa11x0_dma_irq()
288 if (dcsr & DCSR_DONEA) in sa11x0_dma_irq()
290 if (dcsr & DCSR_DONEB) in sa11x0_dma_irq()
404 u32 dcsr; in sa11x0_dma_pos() local
406 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_pos()
408 if ((dcsr & (DCSR_BIU | DCSR_STRTA)) == DCSR_STRTA || in sa11x0_dma_pos()
409 (dcsr & (DCSR_BIU | DCSR_STRTB)) == DCSR_BIU) in sa11x0_dma_pos()
1011 u32 dcsr, saved_dcsr; in sa11x0_dma_suspend() local
1013 dcsr = saved_dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_suspend()
1014 if (dcsr & DCSR_RUN) { in sa11x0_dma_suspend()
1016 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_suspend()
1020 if (dcsr & DCSR_BIU) { in sa11x0_dma_suspend()
1025 saved_dcsr |= (dcsr & DCSR_STRTA ? DCSR_STRTB : 0) | in sa11x0_dma_suspend()
1026 (dcsr & DCSR_STRTB ? DCSR_STRTA : 0); in sa11x0_dma_suspend()
1032 saved_dcsr |= dcsr & (DCSR_STRTA | DCSR_STRTB); in sa11x0_dma_suspend()
1034 p->dcsr = saved_dcsr; in sa11x0_dma_suspend()
1050 u32 dcsr = readl_relaxed(p->base + DMA_DCSR_R); in sa11x0_dma_resume() local
1052 WARN_ON(dcsr & (DCSR_BIU | DCSR_STRTA | DCSR_STRTB | DCSR_RUN)); in sa11x0_dma_resume()
1068 writel_relaxed(p->dcsr, p->base + DMA_DCSR_S); in sa11x0_dma_resume()