[PATCH 6/9] dmaengine: consolidate tx_status functions

Russell King - ARM Linux linux at arm.linux.org.uk
Tue Mar 6 03: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 linux-arm-kernel mailing list