On Wed, Jan 16, 2019 at 04:52:53PM +0100, Takashi Iwai wrote:
Mark Brown wrote:
On Tue, Jan 15, 2019 at 09:42:09PM +0100, Takashi Iwai wrote:
The last one has prepare and complete callbacks in addition to the other standard PM calls. And tm2_pm_preapre() stops sysclk and complete() starts sysclk. I don't understand why these are needed in prepare and resume. Can anyone explain?
AFAICT it's just making sure that they're available ASAP so they look always on to the rest of the system.
Well, but PM prepare is called before PM suspend call. And the whole ASoC suspend procedure (including PCM suspend, etc) is performed in the PM suspend callback; i.e. we stop sysclk before doing anything else...
Thinking about this some more I'm moderately sure that the calls were intended to do as I described but someone misunderstood what they did and swapped them around. I'm guessing nobody's been testing this.