On Wed, Aug 5, 2009 at 12:30 PM, John Bonesiobones@secretlab.ca wrote:
Hi Mark,
I've retitled the email to better reflect the real patch. I believe there has been some general confusion because I originally sent the wrong patch.
You wrote:
Like I said before, exactly which control are you adjusting here?
My description of this got lost in all the confusion. Let me try again. We are adjusting the mixer bits for mute/unmute on two of the mixer settings. The first one is general headphone mute setting on register 0x4 (bit 15). The second one is the PCM mute setting on register 0x18 (bit 15).
What we are seeing is that if we first unmute the general headphone (reg 0x4 bit15), then unmute the PCM (reg 0x18 bit 15) [HPL PCM in the alsamixer application], the general headphone gets muted again, even though software didn't write to that register.
If there is code in software doing this, it's very subtle.
My money would be on the AC97 controller having problems; the quality of SoC AC97 controllers is variable. It certainly doesn't sound like a WM9712 issue; as I say I'd be very surprised if such an issue hadn't come up before given how widely deployed the part is.
We don't have access to an AC97 analyzer. Do you have any suggestions on other ways we can pinpoint the error?
Do you have a normal logic analyzer? You can decode the AC97 by hand, its only a couple of frames.