On Tue, 2012-03-13 at 20:08 +0530, Vinod Koul wrote: > On Tue, 2012-03-13 at 12:31 +0000, Russell King - ARM Linux wrote: > > On Tue, Mar 13, 2012 at 02:10:36PM +0530, Vinod Koul wrote: > > > Please see if the below patch is the right fix for build failures in > > > addition to one suggested by Jassi. > > > > I'm not sure that Jassi's solution is correct - and I'm wondering whether > > any of the DMA engine drivers do the right thing when transfers are > > terminated. Is it right for the DMA status function to return IN_PROGRESS > > for a previously submitted cookie which has been terminated? > > > > I can see two answers to that, both equally valid: > > > > 1. It allows you to find out exactly where the DMA engine got to before > > the transfer was terminated, and therefore recover from the termination > > if you wish to. > > > > 2. Returning in-progress when a cookie will never be completed is > > misleading, and could be misinterpreted by users of the tx_status > > function, especially if they are waiting for a particular transaction > > to complete. > > > > Maybe we need to introduce a DMA_TERMINATED status? > I would agree with you that DMA_TERMINATED seems to be correct option. > IN_PROGRESS would certainly confuse... > I will drop Jassi's fix from this branch. Care to send the patch?
Even after adding such a state in dmaengine for DMA_TERMINATED, it doesn't make much sense. In TERMINATE_ALL we do not update the chan->complete value. So after client has terminated the channel it can easily test to see if cookie is completed (before terminate will return SUCCESS) or aborted (will return DMA_IN_PROGRESS) So at present I am leaning on 1 :) If I don't hear any opposition I will merge this (with Jassi's fix) and then send pull to Linus -- ~Vinod _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev