At Mon, 08 Oct 2012 14:57:23 +0200, Julien Danjou wrote:
On Mon, Oct 08 2012, Takashi Iwai wrote:
It's interesting. So, _unmuting_ the input from NID 0x1d removes the noise? (0x80 means the channel is muted.)
Yes, that's it.
(I just unloaded and reloaded the module and rechecked).
OK, then could you try the patch below?
Takashi
--- diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 8568aee..42dd605 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5988,10 +5988,22 @@ static void alc269_fixup_mic2_mute(struct hda_codec *codec, } }
+static void alc275_fixup_vaio_mixer(struct hda_codec *codec, + const struct alc_fixup *fix, int action) +{ + /* _UN_muting the input from NID 0x1d fixes the mysterious speaker + * noise on Sony VAIO Z + */ + if (action == ALC_FIXUP_ACT_INIT) + snd_hda_codec_write(codec, 0x0b, 0, + AC_VERB_SET_AMP_GAIN_MUTE, + AMP_IN_UNMUTE(4)); +}
enum { ALC269_FIXUP_SONY_VAIO, ALC275_FIXUP_SONY_VAIO_GPIO2, + ALC275_FIXUP_SONY_VAIO_MIXER, ALC269_FIXUP_DELL_M101Z, ALC269_FIXUP_SKU_IGNORE, ALC269_FIXUP_ASUS_G73JW, @@ -6031,6 +6043,12 @@ static const struct alc_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC269_FIXUP_SONY_VAIO }, + [ALC275_FIXUP_SONY_VAIO_MIXER] = { + .type = ALC_FIXUP_FUNC, + .v.func = alc275_fixup_vaio_mixer, + .chained = true, + .chain_id = ALC269_FIXUP_SONY_VAIO + }, [ALC269_FIXUP_DELL_M101Z] = { .type = ALC_FIXUP_VERBS, .v.verbs = (const struct hda_verb[]) { @@ -6172,6 +6190,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_SONY_VAIO_MIXER), 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),