Message ID | 1460366498-14101-1-git-send-email-sven@narfation.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 11 Apr 2016 11:21:38 +0200, Sven Eckelmann wrote: > > The Lenovo Thinkpad T460s requires the alc_fixup_tpt440_dock as well in > order to get working sound output on the docking stations headphone jack. > > Patch tested on a Thinkpad T460s (20F9CT01WW) using a ThinkPad Ultradock > on kernel 4.4.6. > > Signed-off-by: Sven Eckelmann <sven@narfation.org> > Tested-by: Simon Wunderlich <sw@simonwunderlich.de> > --- > v2: > - rebased on current master > > sound/pci/hda/patch_realtek.c | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > index fefe83f..36d371c 100644 > --- a/sound/pci/hda/patch_realtek.c > +++ b/sound/pci/hda/patch_realtek.c > @@ -4760,6 +4760,8 @@ enum { > ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, > ALC280_FIXUP_HP_HEADSET_MIC, > ALC221_FIXUP_HP_FRONT_MIC, > + ALC292_FIXUP_TPT460_DOCK, > + ALC292_FIXUP_TPT460, > }; > > static const struct hda_fixup alc269_fixups[] = { > @@ -5409,6 +5411,18 @@ static const struct hda_fixup alc269_fixups[] = { > { } > }, > }, > + [ALC292_FIXUP_TPT460_DOCK] = { > + .type = HDA_FIXUP_FUNC, > + .v.func = alc_fixup_tpt440_dock, > + .chained = true, > + .chain_id = ALC269_FIXUP_THINKPAD_ACPI > + }, > + [ALC292_FIXUP_TPT460] = { > + .type = HDA_FIXUP_FUNC, > + .v.func = alc_fixup_disable_aamix, > + .chained = true, > + .chain_id = ALC292_FIXUP_TPT460_DOCK, > + }, We don't need to add two entries but just one, something like below. [ALC292_FIXUP_TPT460] = { .type = HDA_FIXUP_FUNC, .v.func = alc_fixup_tpt440_dock, .chained = true, .chain_id = ALC293_FIXUP_LENOVO_SPK_NOISE, }, Does it work for you? thanks, Takashi
On Monday 11 April 2016 16:05:49 Takashi Iwai wrote: > On Mon, 11 Apr 2016 11:21:38 +0200, > Sven Eckelmann wrote: > > > > The Lenovo Thinkpad T460s requires the alc_fixup_tpt440_dock as well in > > order to get working sound output on the docking stations headphone jack. > > > > Patch tested on a Thinkpad T460s (20F9CT01WW) using a ThinkPad Ultradock > > on kernel 4.4.6. > > > > Signed-off-by: Sven Eckelmann <sven@narfation.org> > > Tested-by: Simon Wunderlich <sw@simonwunderlich.de> > > --- > > v2: > > - rebased on current master > > > > sound/pci/hda/patch_realtek.c | 18 +++++++++++++++++- > > 1 file changed, 17 insertions(+), 1 deletion(-) > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > > index fefe83f..36d371c 100644 > > --- a/sound/pci/hda/patch_realtek.c > > +++ b/sound/pci/hda/patch_realtek.c > > @@ -4760,6 +4760,8 @@ enum { > > ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, > > ALC280_FIXUP_HP_HEADSET_MIC, > > ALC221_FIXUP_HP_FRONT_MIC, > > + ALC292_FIXUP_TPT460_DOCK, > > + ALC292_FIXUP_TPT460, > > }; > > > > static const struct hda_fixup alc269_fixups[] = { > > @@ -5409,6 +5411,18 @@ static const struct hda_fixup alc269_fixups[] = { > > { } > > }, > > }, > > + [ALC292_FIXUP_TPT460_DOCK] = { > > + .type = HDA_FIXUP_FUNC, > > + .v.func = alc_fixup_tpt440_dock, > > + .chained = true, > > + .chain_id = ALC269_FIXUP_THINKPAD_ACPI > > + }, > > + [ALC292_FIXUP_TPT460] = { > > + .type = HDA_FIXUP_FUNC, > > + .v.func = alc_fixup_disable_aamix, > > + .chained = true, > > + .chain_id = ALC292_FIXUP_TPT460_DOCK, > > + }, > > We don't need to add two entries but just one, something like below. > > [ALC292_FIXUP_TPT460] = { > .type = HDA_FIXUP_FUNC, > .v.func = alc_fixup_tpt440_dock, > .chained = true, > .chain_id = ALC293_FIXUP_LENOVO_SPK_NOISE, > }, Just wanted to keep it consistent with the TPT440 entries. Kind regards, Sven
On Mon, 11 Apr 2016 16:43:38 +0200, Sven Eckelmann wrote: > > On Monday 11 April 2016 16:05:49 Takashi Iwai wrote: > > On Mon, 11 Apr 2016 11:21:38 +0200, > > Sven Eckelmann wrote: > > > > > > The Lenovo Thinkpad T460s requires the alc_fixup_tpt440_dock as well in > > > order to get working sound output on the docking stations headphone jack. > > > > > > Patch tested on a Thinkpad T460s (20F9CT01WW) using a ThinkPad Ultradock > > > on kernel 4.4.6. > > > > > > Signed-off-by: Sven Eckelmann <sven@narfation.org> > > > Tested-by: Simon Wunderlich <sw@simonwunderlich.de> > > > --- > > > v2: > > > - rebased on current master > > > > > > sound/pci/hda/patch_realtek.c | 18 +++++++++++++++++- > > > 1 file changed, 17 insertions(+), 1 deletion(-) > > > > > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > > > index fefe83f..36d371c 100644 > > > --- a/sound/pci/hda/patch_realtek.c > > > +++ b/sound/pci/hda/patch_realtek.c > > > @@ -4760,6 +4760,8 @@ enum { > > > ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, > > > ALC280_FIXUP_HP_HEADSET_MIC, > > > ALC221_FIXUP_HP_FRONT_MIC, > > > + ALC292_FIXUP_TPT460_DOCK, > > > + ALC292_FIXUP_TPT460, > > > }; > > > > > > static const struct hda_fixup alc269_fixups[] = { > > > @@ -5409,6 +5411,18 @@ static const struct hda_fixup alc269_fixups[] = { > > > { } > > > }, > > > }, > > > + [ALC292_FIXUP_TPT460_DOCK] = { > > > + .type = HDA_FIXUP_FUNC, > > > + .v.func = alc_fixup_tpt440_dock, > > > + .chained = true, > > > + .chain_id = ALC269_FIXUP_THINKPAD_ACPI > > > + }, > > > + [ALC292_FIXUP_TPT460] = { > > > + .type = HDA_FIXUP_FUNC, > > > + .v.func = alc_fixup_disable_aamix, > > > + .chained = true, > > > + .chain_id = ALC292_FIXUP_TPT460_DOCK, > > > + }, > > > > We don't need to add two entries but just one, something like below. > > > > [ALC292_FIXUP_TPT460] = { > > .type = HDA_FIXUP_FUNC, > > .v.func = alc_fixup_tpt440_dock, > > .chained = true, > > .chain_id = ALC293_FIXUP_LENOVO_SPK_NOISE, > > }, > > Just wanted to keep it consistent with the TPT440 entries. Oh, you don't have to inherit the messes from there :) I'd rather like to keep the list shorter. Takashi
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index fefe83f..36d371c 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -4760,6 +4760,8 @@ enum { ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, ALC280_FIXUP_HP_HEADSET_MIC, ALC221_FIXUP_HP_FRONT_MIC, + ALC292_FIXUP_TPT460_DOCK, + ALC292_FIXUP_TPT460, }; static const struct hda_fixup alc269_fixups[] = { @@ -5409,6 +5411,18 @@ static const struct hda_fixup alc269_fixups[] = { { } }, }, + [ALC292_FIXUP_TPT460_DOCK] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc_fixup_tpt440_dock, + .chained = true, + .chain_id = ALC269_FIXUP_THINKPAD_ACPI + }, + [ALC292_FIXUP_TPT460] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc_fixup_disable_aamix, + .chained = true, + .chain_id = ALC292_FIXUP_TPT460_DOCK, + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -5563,7 +5577,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x17aa, 0x2218, "Thinkpad X1 Carbon 2nd", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2223, "ThinkPad T550", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2226, "ThinkPad X250", ALC292_FIXUP_TPT440_DOCK), - SND_PCI_QUIRK(0x17aa, 0x2233, "Thinkpad", ALC293_FIXUP_LENOVO_SPK_NOISE), + SND_PCI_QUIRK(0x17aa, 0x2233, "Thinkpad", ALC292_FIXUP_TPT460), SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI), @@ -5658,6 +5672,8 @@ static const struct hda_model_fixup alc269_fixup_models[] = { {.id = ALC283_FIXUP_SENSE_COMBO_JACK, .name = "alc283-sense-combo"}, {.id = ALC292_FIXUP_TPT440_DOCK, .name = "tpt440-dock"}, {.id = ALC292_FIXUP_TPT440, .name = "tpt440"}, + {.id = ALC292_FIXUP_TPT460_DOCK, .name = "tpt460-dock"}, + {.id = ALC292_FIXUP_TPT460, .name = "tpt460"}, {} }; #define ALC225_STANDARD_PINS \