Subject: [PATCH V7 3/3] dma: add Qualcomm Technologies HIDMA channel driver

From: [email-masked] (Sinan Kaya)
Date: Thu, 17 Dec 2015 18:52:48 -0500

On 12/11/2015 4:35 AM, Vinod Koul wrote:
> On Thu, Dec 10, 2015 at 03:10:48PM -0500, Sinan Kaya wrote:
>> On 12/5/2015 3:00 AM, Vinod Koul wrote:
>>> On Wed, Dec 02, 2015 at 02:04:05PM -0500, Sinan Kaya wrote:
>>>>>>> You are missing the point. Channel can be paused, yes but the descriptor
>>>>>>> is in queue and is not paused. The descriptor running is paused, yes.
>>>>>>> There is subtle difference between these
>>>>> I'll follow your recommendation. PAUSE for the currently active
>>>>> descriptor and DMA_IN_PROGRESS for the rest.
>>>>>
>>>>
>>>> I'm now confused.
>>>>
>>>> I looked at several DMA driver implementations.
>>>>
>>>> 1. They call dma_cookie_status function to see if the job is done.
>>>> 2. If done, they return right ahead.
>>>> 3. Otherwise, dma_cookie_status returns DMA_IN_PROGRESS.
>>>> 4. Next the code checks if the channel is paused and return value is
>>>> DMA_IN_PROGRESS. The code changes return code to DMA_PAUSED.
>>>>
>>>> Whereas, I was returning paused first before even checking if the
>>>> descriptor is done. Are you OK with the sequence 1..4 above?
>>>
>>> Yes am okay with this with slight change in 4.
>>>
>>> You should set to PAUSED only for current descriptor and not for the ones in
>>> queue
>>>
>>
>> OK. I'll post a new version with this. Is there any other comment that
>> needed to be addressed?
> 
> Looks okay to me
> 

Vinod, Mark;
Just posted a new series (V10) https://lkml.org/lkml/2015/12/17/447 that addresses
Mark Rutland and your concern. 

Can you please review the series and queue for inclusion if you are OK?
Sinan

-- 
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project