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),