Thread (14 messages) 14 messages, 3 authors, 2016-08-08

Re: EXT: Re: [PATCH RFC 1/4] dma: imx-sdma - reduce transfer latency for DMA cyclic clients

From: Vinod Koul <hidden>
Date: 2016-07-02 17:20:06
Also in: lkml

On Fri, Jul 01, 2016 at 05:59:30PM +0300, Nandor Han wrote:

On 28/06/16 17:34, Vinod Koul wrote:
quoted
On Thu, Jun 09, 2016 at 03:16:30PM +0300, Nandor Han wrote:
quoted
Having the SDMA driver use a tasklet for running the clients
callback introduce some issues:
  - probability to have desynchronized data because of the
    race condition created since the DMA transaction status
    is retrieved only when the callback is executed, leaving
    plenty of time for transaction status to get altered.
  - inter-transfer latency which can leave channels idle.

Move the callback execution, for cyclic channels, to SDMA
interrupt (as advised in `Documentation/dmaengine/provider.txt`)
to (a)reduce the inter-transfer latency and (b) eliminate the
race condition possibility where DMA transaction status might
be changed by the time is read.

The responsibility of the SDMA interrupt latency
is moved to the SDMA clients which case by case should defer
the work to bottom-halves when needed.
Both of these look fine. Please change the patch titles to dmaengine: xxxx

Are these going to be merged thru dmaengine tree or serial one?
I will send soon a V2 where I will fix the titles. If you are OK
with all the patchset it can be merged to dmaengine tree, otherwise
probably goes to serial one.
Sure I can merge all.. provided ACKs on other patches.


-- 
~Vinod
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help