Re: [PATCH 11/12] DMAENGINE: let PL08X memcpy TXDs wait

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Dan Williams
Date: Thursday, September 23, 2010 - 8:29 am

On Thu, Sep 23, 2010 at 12:39 AM, Linus Walleij
<linus.ml.walleij@gmail.com> wrote:

Yeah, that is a hold over from when the original ioatdma driver
performed memory allocations at submit time (fixed here a0587bcf).


I was more thinking that at a minimum all slave drivers would follow
the same semantic and expect their submit requests to be queued or
fail, as it stands we have a mix of both across all slave
implementations.


There is precedent, albeit a bit inelegant, for taking a lock in
prep() and dropping it in submit().  The ioatdma driver does this to
ensure in-order submission because the hardware caches the address of
the next descriptor in the ring.  Out-of-order submission would
require a hardware reset to clear that cache prep() and submit() are
not paired.


It is safe to actively enforce this as long as you never plan to
support the async_tx channel switching capability (only a few raid
drivers use this presently).  I'm converting to be an explicit opt-in
because most drivers don't need this and can use the cut down version
of dma_async_tx_descriptor.


The 'tx' in async_tx came "asynchronous transfer/transform"  where the
'x' is transfer or transform.  I'd also like to change drop the
'device_' from the method names and rename dma_async_tx_descriptor to
something shorter, but I'm not sure it is worth the thrash.


Sounds good.

--
Dan
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[00/12] DMAENGINE: PL08X driver updates, Linus Walleij, (Tue Aug 31, 5:12 am)
[PATCH 07/12] DMAENGINE: add debugfs file for PL08X, Linus Walleij, (Tue Aug 31, 5:12 am)
[PATCH 11/12] DMAENGINE: let PL08X memcpy TXDs wait, Linus Walleij, (Tue Aug 31, 5:12 am)
Re: [00/12] DMAENGINE: PL08X driver updates, Linus Walleij, (Wed Sep 8, 7:26 am)
Re: [00/12] DMAENGINE: PL08X driver updates, Dan Williams, (Sat Sep 18, 11:52 am)
Re: [PATCH 11/12] DMAENGINE: let PL08X memcpy TXDs wait, Dan Williams, (Wed Sep 22, 9:59 pm)
Re: [PATCH 11/12] DMAENGINE: let PL08X memcpy TXDs wait, Linus Walleij, (Thu Sep 23, 12:39 am)
Re: [PATCH 11/12] DMAENGINE: let PL08X memcpy TXDs wait, Linus Walleij, (Thu Sep 23, 12:46 am)
Re: [PATCH 11/12] DMAENGINE: let PL08X memcpy TXDs wait, Dan Williams, (Thu Sep 23, 8:29 am)
Re: [PATCH 11/12] DMAENGINE: let PL08X memcpy TXDs wait, Dan Williams, (Thu Sep 23, 8:35 am)