Re: [PATCH] dma: tegra: enable/disable dma clock

From: Vinod Koul
Date: Fri Jul 20 2012 - 02:40:39 EST


On Fri, 2012-07-20 at 11:34 +0530, Laxman Dewangan wrote:
> On Friday 20 July 2012 11:32 AM, Vinod Koul wrote:
> > On Wed, 2012-07-18 at 14:26 +0530, Laxman Dewangan wrote:
> >> Enable the DMA clock when registering DMA driver and
> >> disable clock when removing the DMA driver.
> >>
> >> The failure was observed on Tegra20 based system by
> >> Stephen Warren. However, it is working fine on tegra30
> >> based system and probably becasue uboot enable the clock
> >> on Tegra30.
> > Don't know much about the clock subsystem, but shouldn't the clocks be
> > enabled runtime..... when you actually start using the controller??
>
> Yes, this is the plan and I am going to implement dynamic clock
> management but it will take some time to complete and have testing
> throughly. some of the issue which I am seeing and analyzing on this
> approach is that
> - clock disable can be called from isr context or not?
> - how much complexity will be added in dma driver to implement this?
> - What power benefit we will get on this.
> - Is there any user which generally use dma and always keep dma on
> requested state like UART RX always ready etc.
>
> So keeping that in mind, it will take some time to complete this and
> meanwhile, I want to make it work for Tegra20 based system which is not
> working on current driver.
> and hence this is the change.
for a start you can move these to .alloc_chan_resources
and .free_chan_resources while doing a refcount.
Further optimization can be done by moving this to tx_submit and
tasklet.

--
~Vinod

--
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/