[alsa-devel] Constant noise on HDA ALC275

Takashi Iwai tiwai at suse.de
Tue Oct 9 08:39:22 CEST 2012


At Tue, 09 Oct 2012 08:19:56 +0200,
David Henningsson wrote:
> 
> On 10/08/2012 10:34 PM, Julien Danjou wrote:
> >> Hm, then maybe the effect of removing noise appears no matter which
> >> input of NID 0x0b be unmuted?
> >
> > I've retested some, and you're right, it seems some others do make the
> > noise disappear:
> >
> > For example, this works too:
> >
> > @@ -198,7 +198,7 @@
> >     Control: name="Beep Playback Switch", index=0, device=0
> >       ControlAmp: chs=3, dir=In, idx=4, ofs=0
> >     Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
> > -  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
> > +  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80]
> >     Connection: 5
> >        0x18 0x19 0x1a 0x1b 0x1d
> >   Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
> >
> >
> > This one too:
> > @@ -198,7 +198,7 @@
> >     Control: name="Beep Playback Switch", index=0, device=0
> >       ControlAmp: chs=3, dir=In, idx=4, ofs=0
> >     Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
> > -  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
> > +  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x80 0x80]
> >     Connection: 5
> >        0x18 0x19 0x1a 0x1b 0x1d
> >   Node 0x0c [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
> >
> > Other pairs do not work, but some do change the noise sound.
> 
> So; if everything is muted, it causes some codec bug to appear. If this 
> only happens in the speaker, maybe we should try to reroute the speaker 
> to go 0x02 -> 0x0c -> 0x14 instead of 0x03 -> 0x0d -> 0x14? What will 
> happen if you change 0x14 to take its input from 0x0c instead?

Your suggestion reminds me of another bug on another Vaio Z model but
with a different codec.  On that machine, the speaker output must come
from the first DAC.  Otherwise silences.  Julien's machine might have
a similar restriction.

The patch below will change the DAC assignment order.  Give it a try
instead of previous ones.


thanks,

Takashi

---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 8568aee..838b6e7 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5992,6 +5992,7 @@ static void alc269_fixup_mic2_mute(struct hda_codec *codec,
 enum {
 	ALC269_FIXUP_SONY_VAIO,
 	ALC275_FIXUP_SONY_VAIO_GPIO2,
+	ALC275_FIXUP_VAIO_SPEAKER,
 	ALC269_FIXUP_DELL_M101Z,
 	ALC269_FIXUP_SKU_IGNORE,
 	ALC269_FIXUP_ASUS_G73JW,
@@ -6031,6 +6032,12 @@ static const struct alc_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC269_FIXUP_SONY_VAIO
 	},
+	[ALC275_FIXUP_VAIO_SPEAKER] = {
+		.type = ALC_FIXUP_FUNC,
+		.v.func = alc882_fixup_no_primary_hp, /* same quirk code */
+		.chained = true,
+		.chain_id = ALC269_FIXUP_SONY_VAIO
+	},
 	[ALC269_FIXUP_DELL_M101Z] = {
 		.type = ALC_FIXUP_VERBS,
 		.v.verbs = (const struct hda_verb[]) {
@@ -6172,6 +6179,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	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),
+	SND_PCI_QUIRK(0x104d, 0x90a5, "Sony VAIO Z", ALC275_FIXUP_VAIO_SPEAKER),
 	SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
 	SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
 	SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC),


More information about the Alsa-devel mailing list