On Thu, Sep 17, 2015 at 10:54:08AM -0700, Nicolin Chen wrote:
On Thu, Sep 17, 2015 at 12:01:54PM +0100, Mark Brown wrote:
On Thu, Sep 17, 2015 at 02:09:24PM +0800, Shengjiu Wang wrote:
- "dma" The spba clock is needed when sdma share peripheral
script is used.
It sounds like this clock is used by the DMA controller - shouldn't the DMA controller driver be responsible for enabling it?
I agree but it doesn't seems to be easy to enable and disable it dynamically along with ASoC open() and close() functions as the current clocks of SDMA get enabled when its channels are allocated during the system boot-up via generic DMA bindings.
Do we need to do things along with open() and close() or wouldn't doing things along with the DMA operatiosn suffice?
Maybe we can put in the issue_pending() and terminate_all() which are regularly called along with ASoC trigger(), or just open it permanently if the penalty of power efficiency is ignorable.
Or some kind of runtime PM usage within the DMA driver (possibly at those points)? It does seem like something we should solve in the DMA code rather than in generic code.