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

Nobin Mathew nobin.mathew at gmail.com
Fri May 25 14:54:57 CEST 2007


after resume when i do playback i am getting same number of DMA
interrupt  as in the working case (after reboot).

I am using aplay (/usr/share/sounds/alsa/Side_Right.wav)

But i am not getting any sound (3 underruns), my codec register
contents and controller register contents are same.



On 5/25/07, Liam Girdwood <lg at opensource.wolfsonmicro.com> wrote:
> On Fri, 2007-05-25 at 17:34 +0530, Nobin Mathew wrote:
> > 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?
> >
>
> These should probably be called to inform the upper layers of the PM
> state. Can you log a bug for this in ALSA bugzilla.
>
> Fwiw, this _shouldn't_ effect your resume. You should still see calls to
> trigger for your DMA / AC97 to re-start transmission of PCM data.
>
> PM was well tested on pxa2xx, although we did find a few applications
> were not too happy resuming audio. e.g. mplayer in alsa mode, although
> this was about 1 year ago and afaik it's been fixed.
>
> It may be best to debug this using aplay and placing some debug in your
> trigger functions to make sure PCM transmission is restarted correctly.
>
> Liam
>
>


More information about the Alsa-devel mailing list