[PATCH 6/9] dmaengine: consolidate tx_status functions
Russell King - ARM Linux
linux at arm.linux.org.uk
Tue Mar 6 19:59:39 EST 2012
On Mon, Mar 05, 2012 at 06:12:50PM -0600, H Hartley Sweeten wrote:
> On Monday, March 05, 2012 1:17 PM, Russell King wrote:
> > 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()?
It's more than dma_set_tx_state(). It is my intention to get rid of
dma_set_tx_state() in favour of these implementations.
> > + return dma_async_is_complete(cookie, complete, used);
> > +}
>
> Regards,
> Hartley
>
More information about the Linuxppc-dev
mailing list