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