Re: [PATCH] dma: add new DMA control commands

From: Jassi Brar
Date: Thu Oct 18 2012 - 11:25:23 EST

On 18 October 2012 20:48, Huang Shijie <shijie8@xxxxxxxxx> wrote:
> On Thu, Oct 18, 2012 at 5:29 AM, Jassi Brar <jaswinder.singh@xxxxxxxxxx> wrote:
>> On 18 October 2012 12:15, Huang Shijie <b32955@xxxxxxxxxxxxx> wrote:
>>> 于 2012年10月18日 14:18, Vinod Koul 写道:
>>>> Why cant you do start (prepare clock etc) when you submit the descriptor
>>>> to dmaengine. Can be done in tx_submit callback.
>>>> Similarly remove the clock when dma transaction gets completed.
>>> I ever thought this method too.
>>> But it will become low efficient in the following case:
>>> Assuming the gpmi-nand driver has to read out 1024 pages in one _SINGLE_
>>> read operation.
>>> The gpmi-nand will submit the descriptor to dmaengine per page. So with your
>>> method,
>>> the system will repeat the enable/disable dma clock 1024 time. At every
>>> enable/disable dma clock,
>>> the system has to enable the clock chain and it's parents ...
>>> But with this patch, we only need to enable/disable dma clock one time, just
>>> at we select the nand chip.
>> If the clock is the dmac's property (not channels'), the toggling
>> seems too aggressive.
>> You could try using runtime_suspend/resume for clock
>> disabling/enabling. How about employing autosuspend with a few ms
>> delay?
> Yes, employing the autosuspend is workable method too.o
> But it's a little more complicated then this patch. You have to create
> a thread or workqueue to
> do the job.
I am not sure why you would need to create any thread/workqueue ?
Just pm_runtime_put_autosuspend() in drivers/ to see how it works.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at