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-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html