Re: Dmaengine query

From: Dan Williams
Date: Wed Apr 14 2010 - 20:30:43 EST


On Tue, Apr 13, 2010 at 11:26 PM, rd bairva <rbairva@xxxxxxxxx> wrote:
> Hi Dan,
>
>        I am currently writing dmaengine compatible DMA driver for our ARM
> based architecture, But I am facing some performance issues doing
> that.
>
> 1. dmaengine says callback should run in tasklet, and next transfer
> cannot be scheduled from the callback.
>
> Due to these restrictions I am getting some performance issue while
> playing sound in our architecture.
>
>
> Can callback call in DMA driver be placed out of spin_lock to submit
> new operations from callback? (only in asynchronous case)
>
> is this Ok? please comment.

Other dma driver authors are dropping the lock across the call to the
callback in the mem-to-io case. The compliance points in the
documentation are primarily targeted at the expectations of the
async_tx api. In the mem-to-io (slave dma) model you are not using
the async_tx api.

--
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/