[alsa-devel] Problem setting mixer switch with amixer/alsactl.
ipaqlinux at oliford.co.uk
Fri Oct 24 00:55:05 CEST 2008
Oliver Ford wrote:
>> name 'Speaker Playback Volume'
>> value 1
This is unrelated, I have just left it there from playing around.
>> One other thing that would be useful would be to put trace which logs
>> the register writes in ac97_write() in the driver and then try testing
>> both using alsamixer and then amixer to do the final enable of the
>> Speaker Mixer PCM Playback Switch.
In terms of the control's direct effect, setting it in alsamixer gives:
pxa2xx_ac97_write: 0c = af08
setting it in amixer:
pxa2xx_ac97_write: 0c = af09
Am I right in understanding that setting all the controls in amixer
doesn't actually enable the control in the codec chip at that time but
that the powering on/off is done by soc-dapm.c when the the DAC is
actually enabled when playing some audio? This appears to be what is
happening when it does work (looking at the log). I hadn't realised this.
However, after running the offending amixer command this no longer
happens. It seems that the dapm_power_widgets() function determines that
the DAC is off and so doesn't power any widgets on at all.
I've put some debugging in pxa2xx-ac97-write and in dapm_power_widgets()
and the log is attached (stripped of non-audio stuff).
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the Alsa-devel