DCSR_STRTA
saved_dcsr |= (dcsr & DCSR_STRTA ? DCSR_STRTB : 0) |
(dcsr & DCSR_STRTB ? DCSR_STRTA : 0);
saved_dcsr |= dcsr & (DCSR_STRTA | DCSR_STRTB);
writel(DCSR_STRTA | DCSR_STRTB, p->base + DMA_DCSR_C);
WARN_ON(dcsr & (DCSR_BIU | DCSR_STRTA | DCSR_STRTB | DCSR_RUN));
if ((dcsr & (DCSR_STRTA | DCSR_STRTB)) == (DCSR_STRTA | DCSR_STRTB))
((dcsr & (DCSR_BIU | DCSR_STRTA)) == 0)) {
dcsr = DCSR_STRTA | DCSR_IE | DCSR_RUN;
(DCSR_STRTA | DCSR_STRTB));
writel_relaxed(DCSR_RUN | DCSR_STRTA | DCSR_STRTB,
if ((dcsr & (DCSR_BIU | DCSR_STRTA)) == DCSR_STRTA ||
DCSR_STRTA | DCSR_DONEA |
DCSR_DONEA | DCSR_STRTA | DCSR_DONEB | DCSR_STRTB,