On Monday, March 05, 2012 1:17 PM, Russell King wrote: > > Now that we have the completed cookie in the dma_chan structure, we > can consolidate the tx_status functions by providing a function to set > the txstate structure and returning the DMA status. We also provide > a separate helper to set the residue for cookies which are still in > progress. > > Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk> > ---
<snip> > diff --git a/drivers/dma/dmaengine.h b/drivers/dma/dmaengine.h > index 47e0997..244a2c5 100644 > --- a/drivers/dma/dmaengine.h > +++ b/drivers/dma/dmaengine.h > @@ -45,4 +45,35 @@ static inline void dma_cookie_complete(struct > dma_async_tx_descriptor *tx) > tx->cookie = 0; > } > > +/** > + * dma_cookie_status - report cookie status > + * @chan: dma channel > + * @cookie: cookie we are interested in > + * @state: dma_tx_state structure to return last/used cookies > + * > + * Report the status of the cookie, filling in the state structure if > + * non-NULL. No locking is required. > + */ > +static inline enum dma_status dma_cookie_status(struct dma_chan *chan, > + dma_cookie_t cookie, struct dma_tx_state *state) > +{ > + dma_cookie_t used, complete; > + > + used = chan->cookie; > + complete = chan->complete; > + barrier(); > + if (state) { > + state->last = complete; > + state->used = used; > + state->residue = 0; > + } Isn't this dma_set_tx_state()? > + return dma_async_is_complete(cookie, complete, used); > +} Regards, Hartley _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev