On 06/22/2012 05:37 PM, Takashi Iwai wrote: > At Fri, 22 Jun 2012 17:27:51 +0200, > David Henningsson wrote: >> >> On 06/22/2012 02:46 PM, Takashi Iwai wrote: >>> /* >>> + * Inverted digital-mic handling >>> + * >>> + * First off, it's a bit tricky. The "Inverted Internal Mic Capture Switch" >>> + * gives the additional mute only to the right channel of the digital mic >>> + * capture stream. This is a workaround for avoiding the almost silence >>> + * by summing the stereo stereo stream from some (known to be ForteMedia) >> >> Stereo stereo? It's "stereo" in stereo! :-) > > Yeah, quad channels. Fixed now. > >>> + * digital mic unit. >>> + * >>> + * The logic is to call alc_inv_dmic_sync() after each action (possibly) >>> + * modifying ADC amp. When the mute flag is set, it mutes the R-channel >>> + * without caching so that the cache can still keep the original value. >>> + * The cached value is then restored when the flag is set off or any other >>> + * than d-mic is used as the current input source. >> >> Ok, I get it now. >> >> There is a slight drawback with this (IMO a bit hacky) patch, and that >> is that you can get a short signal spike on the right channel when you >> turn "Capture Switch" on while "Inverted Capture" is off. Hopefully it >> is not a practical problem. > > Right, I fully admit it's hacky :) > > A good thing by this is, however, that it doesn't touch other parts > too intrusively but just wraps over it. > >> Thanks for looking at this long-standing problem :-) > > I'm going to commit it once after hearing the test with a real machine > from Eliot. Hi, I'm adding the machines I know of in the patch attached (please commit together with your patch). For users running Ubuntu 12.04 (I think Eliot does), I have also made a dkms package for easy testing of these two patches, and I also asked existing bug reporters to test it. https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1002978/+attachment/3200653/+files/alsa-hda-dkms_0.1_all.deb Happy weekend! -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic