Openmoko Public Trac
2011-10-27 13:17:28 UTC
#2478: linux 2.6.39: alsa state not correctly restored in resume
---------------------+------------------------------------------------------
Reporter: lindi | Owner: openmoko-kernel
Type: defect | Status: new
Priority: high | Milestone:
Component: kernel | Version:
Severity: blocker | Keywords: kernel alsa suspend resume linux 2.6.39
Haspatch: 0 | Blockedby:
Estimated: | Patchreview:
Blocking: | Reproducible: always
---------------------+------------------------------------------------------
I am using SHR 2.6.39-nodrm branch at 74c481b35be9bf9b7d74c481b35be9bf9b7d
with config from http://build.shr-project.org/tests/jama/kernel-
nodrm/config-2.6.39.gz
{{{
Steps to reproduce:
1) save the attached statefile as stereoout.state
2) alsactl restore -f stereoout.state
3) alsactl store -f step3.state
4) speaker-test -t sine
5) echo mem > /sys/power/state
6) alsactl store -f step6.state
7) speaker-test -t sine
Expected results:
3 & 6) alsa states look identical
4 & 7) sine wave can be heard
Actual results:
3 & 6) alsa states look identical
4) sine wave can be heard
7) nothing can be heard
More info:
1) After step7 I can fix the situation if I run
amixer -qc0 cset numid=27,name='Capture Filter Switch' off
amixer -qc0 cset numid=27,name='Capture Filter Switch' on
amixer -qc0 cset numid=24,name='Capture Switch' on,on
amixer -qc0 cset numid=24,name='Capture Switch' off,off
amixer -qc0 cset numid=67,name='ALC Mixer Mic2 Capture Switch' on
amixer -qc0 cset numid=67,name='ALC Mixer Mic2 Capture Switch' off
amixer -qc0 cset numid=59,name='Amp Spk Switch' off
amixer -qc0 cset numid=59,name='Amp Spk Switch' on
amixer -qc0 cset numid=92,name='Left Mixer Left Playback Switch' off
amixer -qc0 cset numid=92,name='Left Mixer Left Playback Switch' on
speaker-test -t sine
2) My guess is that kernel is caching some value and does not write it to
hardware since it thinks it already has the right value. Toggling the
controls back and forth thus can fix the issue.
}}}
---------------------+------------------------------------------------------
Reporter: lindi | Owner: openmoko-kernel
Type: defect | Status: new
Priority: high | Milestone:
Component: kernel | Version:
Severity: blocker | Keywords: kernel alsa suspend resume linux 2.6.39
Haspatch: 0 | Blockedby:
Estimated: | Patchreview:
Blocking: | Reproducible: always
---------------------+------------------------------------------------------
I am using SHR 2.6.39-nodrm branch at 74c481b35be9bf9b7d74c481b35be9bf9b7d
with config from http://build.shr-project.org/tests/jama/kernel-
nodrm/config-2.6.39.gz
{{{
Steps to reproduce:
1) save the attached statefile as stereoout.state
2) alsactl restore -f stereoout.state
3) alsactl store -f step3.state
4) speaker-test -t sine
5) echo mem > /sys/power/state
6) alsactl store -f step6.state
7) speaker-test -t sine
Expected results:
3 & 6) alsa states look identical
4 & 7) sine wave can be heard
Actual results:
3 & 6) alsa states look identical
4) sine wave can be heard
7) nothing can be heard
More info:
1) After step7 I can fix the situation if I run
amixer -qc0 cset numid=27,name='Capture Filter Switch' off
amixer -qc0 cset numid=27,name='Capture Filter Switch' on
amixer -qc0 cset numid=24,name='Capture Switch' on,on
amixer -qc0 cset numid=24,name='Capture Switch' off,off
amixer -qc0 cset numid=67,name='ALC Mixer Mic2 Capture Switch' on
amixer -qc0 cset numid=67,name='ALC Mixer Mic2 Capture Switch' off
amixer -qc0 cset numid=59,name='Amp Spk Switch' off
amixer -qc0 cset numid=59,name='Amp Spk Switch' on
amixer -qc0 cset numid=92,name='Left Mixer Left Playback Switch' off
amixer -qc0 cset numid=92,name='Left Mixer Left Playback Switch' on
speaker-test -t sine
2) My guess is that kernel is caching some value and does not write it to
hardware since it thinks it already has the right value. Toggling the
controls back and forth thus can fix the issue.
}}}
--
Ticket URL: <https://docs.openmoko.org/trac/ticket/2478>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac
Ticket URL: <https://docs.openmoko.org/trac/ticket/2478>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac