[alsa-devel] [ALSA] ALSA Power Management, Drivers behaving unexpectedly after suspend/resume cycle

Nobin Mathew nobin.mathew at gmail.com
Fri May 25 14:04:08 CEST 2007


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 at 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
>


More information about the Alsa-devel mailing list