Every ALSA driver is calling these for suspend
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); snd_pcm_suspend_all(pcm[i]);
And for resume snd_power_change_state(card, SNDRV_CTL_POWER_D0)
In ALSA ASoC no driver is calling any of this, even not in soc-core.c
My driver is an ASoC driver and I am also not calling these functions
Will this cause any Issue?
Thanks
On 5/25/07, Takashi Iwai tiwai@suse.de wrote:
At Fri, 25 May 2007 11:27:10 +0530, Nobin Mathew wrote:
I am implementing power management in my ALSA sound drivers. ALSA drivers are not working properly after resume. All registers values are proper and I am able to read back the codec register contents.
If I do a playback after resume then I am getting lots of "underrun".
As Liam already pointed, the underrun is usually irrelevant from the codec registers, as codec chips don't control the DMA transfer. So, it's likely a controller side problem.
After a reboot playback is working fine.
Is there any known issues with ALSA power management?
No. Some drivers may have, but no problem in general.
Why Ubuntu and Redhat does ALSA modules removal before suspend and insertion after resume?
They are either too lazy or too conservative :)
Takashi