[alsa-devel] [RFC PATCH] Inverted internal mic

Takashi Iwai tiwai at suse.de
Mon Jun 25 10:18:21 CEST 2012


At Mon, 25 Jun 2012 10:04:26 +0200,
David Henningsson wrote:
> 
> On 06/23/2012 10:39 AM, Takashi Iwai wrote:
> > At Fri, 22 Jun 2012 19:33:06 +0200,
> > David Henningsson wrote:
> >>
> >> [1  <text/plain; ISO-8859-1 (7bit)>]
> >> 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
> >> [2 0001-ALSA-hda-Add-inverted-mic-quirks-for-Asus-U41SV-Acer.patch <text/x-patch (7bit)>]
> >> >From d4e041e6d5077b061eb99954e9d71a5ad5f8f4de Mon Sep 17 00:00:00 2001
> >> From: David Henningsson <david.henningsson at canonical.com>
> >> Date: Fri, 22 Jun 2012 19:12:10 +0200
> >> Subject: [PATCH] ALSA: hda - Add inverted mic quirks for Asus U41SV, Acer
> >>   1810TZ and AOD260
> >>
> >> These machines have inverted phase on right channel for their
> >> internal mics.
> >
> > These are all ALC269, and we have already a workaround using the
> > hardware COEF verb.  Could you check whether it works or not?
> > There are variants for alc269, alc269vb and alc271.  One of them
> > might match.
> 
> Do we really have coefs for alc269vb?
> The ALC269VB_FIXUP_DMIC fixup looks like it's pins only, and I've 
> confirmed that the alc269 verb does not work for alc269vb, so I assume 
> that verb is alc269va only.

Ah, right.  I forgot that it's specific to ALC269, not VB variant.
I'll apply your patch, then.


thanks,

Takashi


More information about the Alsa-devel mailing list