On Mon, Aug 29, 2011 at 02:41:30PM +0300, P?ter Ujfalusi wrote:
On Monday 29 August 2011 11:16:04 Mark Brown wrote:
That's not what you said before... I did post the sequence I was suggesting and you seemed fine with it. Please try to be clear about what you're trying to do here - previously you'd just said that you needed to make sure the CODEC was powered down prior to the CPU being stopped but now you're adding additional stuff here.
Hrm, yes i did agreed with your sequence until I started to look at the other implications. However at least I was consistent in the commit messages about the sequence requirements (OMAP4 McPDM should be stopped after the codec's DAC/ADC).
Right, but there was an important additional bit.
Could you please clarify what exactly the system looks like here and what you need to do? I'm struggling to understand how you've got PDM output links providing clocks back into the CPU - usually a PDM output is two wires going in one direction.
The sequence I'm looking for is:
- pcm_trigger: stop DMA
- DAPM sequence starts
- DAC is turned off on the codec side
- OMAP4 McPDM can be stopped - stop it
- DAPM finishes up
- codec can be turned off
Actually I think this is fine with my suggestion so long as you make the CODEC SYSCLK visible to DAPM and have the machine driver turn it off at some later point in the shutdown process (eg, in shutdown()). That way the data paths will still be torn down by DAPM immediately but SYSCLK will still be generated.