Re: [PATCH v4 12/15] dmaengine: ti: New driver for K3 UDMA - split#4: dma_device callbacks 1

Peter Ujfalusi
2019-11-12T07:23:10Z

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