On 12/11/2019 7.36, Vinod Koul wrote: > On 11-11-19, 12:29, Peter Ujfalusi wrote: >> On 11/11/2019 8.09, Vinod Koul wrote: >>> On 01-11-19, 10:41, Peter Ujfalusi wrote: > >>>> +static enum dma_status udma_tx_status(struct dma_chan *chan, >>>> + dma_cookie_t cookie, >>>> + struct dma_tx_state *txstate) >>>> +{ >>>> + struct udma_chan *uc = to_udma_chan(chan); >>>> + enum dma_status ret; >>>> + unsigned long flags; >>>> + >>>> + spin_lock_irqsave(&uc->vc.lock, flags); >>>> + >>>> + ret = dma_cookie_status(chan, cookie, txstate); >>>> + >>>> + if (!udma_is_chan_running(uc)) >>>> + ret = DMA_COMPLETE; >>> >>> so a paused channel will result in dma complete status? >> >> The channel is still enabled (running), the pause only sets a bit in the >> channel's real time control register. > > Okay and which cases will channel not be running i.e., you return > DMA_COMPLETE above? After terminate_all or before the first issue_pending call. When the channel is disabled. - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki