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 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html