On Fri, Jul 31, 2009 at 04:08:55PM -0700, John Bonesio wrote:
We've encountered strange behavior in the alsamixer settings using the wm9712 codec. If we unmute the headphone output and then unmute the PCM output, the headphone output gets reset to mute in the hardware register. At this point the hardware register does not match the value in the register cache.
Which specific controls are you looking at here?
I've spent some time debugging this, and the headphone setting is set outside of any code path that would call the ac97_write() routine. As best as I can tell, there is something strange going on in hardware.
I've provided this patch that works around the problem.
Like Grant says I suspect this isn't the patch you meant...
Have any of you seen this before? Is this patch the right approach?
I've never heard of that before and the WM9712 is very widely deployed so if it were a hardware issue in the CODEC I'd imagine it would have come up. On the other hand, it's not beyond the bounds of possibility. If you could post the patch showing exactly what you're doing I could probably say more.
If you could get a scope on the bus that might be interesting...