[alsa-devel] [PATCH v2] ALSA: hda/realtek - Enable the ALC292 dock fixup on the Thinkpad T460s
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, + }, };
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 \
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
participants (2)
-
Sven Eckelmann
-
Takashi Iwai