[alsa-devel] [PATCH 2/2] ALSA: hda - Fix microphone for Sony VAIO Pro 13 (Haswell model)

Takashi Iwai tiwai at suse.de
Thu Oct 10 15:30:53 CEST 2013


At Thu, 10 Oct 2013 15:26:03 +0200,
David Henningsson wrote:
> 
> On 10/10/2013 01:18 PM, Takashi Iwai wrote:
> > At Thu, 10 Oct 2013 12:19:24 +0200,
> > David Henningsson wrote:
> >>
> >> The external mic showed up with a precense detect of "always present",
> >> essentially disabling the internal mic. Therefore turn off presence
> >> detection for this pin.
> >>
> >> Note: The external mic seems not yet working, but an internal mic is
> >> certainly better than no mic at all.
> >>
> >> Cc: stable at vger.kernel.org
> >> BugLink: https://bugs.launchpad.net/bugs/1227093
> >> Signed-off-by: David Henningsson <david.henningsson at canonical.com>
> >> ---
> >>  sound/pci/hda/patch_realtek.c |   11 +++++++++++
> >>  1 file changed, 11 insertions(+)
> >>
> >> Note: when doing stable backports, the two lines ".chained = true" and
> >> ".chain_id = ALC269_FIXUP_HEADSET_MIC" can be dropped.
> > 
> > Then better to split the patch to two, one just for disabling the dead
> > ext mic pin, and another for adding the headset mic chain.  The former
> > can go to stable while the latter goes to next together with the
> > previous ALC269_FIXUP_HEADSET_MIC patch.
> 
> The problem here is somewhat lack of testers. We have only one person
> with a headset (with alias Yuv) and that person reports that it does not
> work. However, the problem might be with that person's headset so I
> probably don't want to completely disable it, just remove its jack
> detection. Especially as this would go to stable too.
> 
> But ok, I can make three patches, one for headset mic model, one for
> sony, and a third that adds the connection between them.
> 
> > If adding a new fixup entry for stable, put to somewhere in the middle
> > so that git cherry-pick would work.  Appending to the tail is
> > problematic because of a few previous fixups aren't merged to stable,
> > thus the new entry cannot be applied cleanly.
> 
> Hmm, but maybe middle will have same problem if we end up changing the
> policy. Maybe random position will be better? Or put all stable first
> and all non-stable last?

Just try at leat to be applicable to 3.11.y :)


Takashi

> 
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> >>
> >> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> >> index 8cb3350..ec47681 100644
> >> --- a/sound/pci/hda/patch_realtek.c
> >> +++ b/sound/pci/hda/patch_realtek.c
> >> @@ -3556,6 +3556,7 @@ enum {
> >>  	ALC282_FIXUP_ASUS_TX300,
> >>  	ALC283_FIXUP_INT_MIC,
> >>  	ALC290_FIXUP_MONO_SPEAKERS,
> >> +	ALC286_FIXUP_SONY_MIC_NO_PRESENCE,
> >>  };
> >>  
> >>  static const struct hda_fixup alc269_fixups[] = {
> >> @@ -3844,6 +3845,15 @@ static const struct hda_fixup alc269_fixups[] = {
> >>  		.chained = true,
> >>  		.chain_id = ALC269_FIXUP_DELL3_MIC_NO_PRESENCE,
> >>  	},
> >> +	[ALC286_FIXUP_SONY_MIC_NO_PRESENCE] = {
> >> +		.type = HDA_FIXUP_PINS,
> >> +		.v.pins = (const struct hda_pintbl[]) {
> >> +			{ 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
> >> +			{ }
> >> +		},
> >> +		.chained = true,
> >> +		.chain_id = ALC269_FIXUP_HEADSET_MIC,
> >> +	},
> >>  };
> >>  
> >>  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> >> @@ -3908,6 +3918,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> >>  	SND_PCI_QUIRK(0x1043, 0x8398, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC),
> >>  	SND_PCI_QUIRK(0x1043, 0x83ce, "ASUS P1005", ALC269_FIXUP_STEREO_DMIC),
> >>  	SND_PCI_QUIRK(0x1043, 0x8516, "ASUS X101CH", ALC269_FIXUP_ASUS_X101),
> >> +	SND_PCI_QUIRK(0x104d, 0x90b6, "Sony VAIO Pro 13", ALC286_FIXUP_SONY_MIC_NO_PRESENCE),
> >>  	SND_PCI_QUIRK(0x104d, 0x9073, "Sony VAIO", ALC275_FIXUP_SONY_VAIO_GPIO2),
> >>  	SND_PCI_QUIRK(0x104d, 0x907b, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
> >>  	SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
> >> -- 
> >> 1.7.9.5
> >>
> > 
> 
> 
> 
> -- 
> David Henningsson, Canonical Ltd.
> https://launchpad.net/~diwic
> 


More information about the Alsa-devel mailing list