On Fri, 30 Nov 2018 17:51:33 +0100, Jeremy Cline wrote:
On 11/30/18 11:00 AM, Takashi Iwai wrote:
On Fri, 30 Nov 2018 15:49:17 +0100, Jeremy Cline wrote:
Hi,
Some folks have reported on the Fedora bug tracker[0] that the laptop speaker volume is very low on the Thinkpad T570 when running a kernel that includes commit 61fcf8ece9b6 ("ALSA: hda/realtek - Enable Thinkpad Dock device for ALC298 platform").
alsa-info.sh from v4.15.4 (just before commit 61fcf8ece9b6 arrived in stable) and v4.19.4 with the issue present are attached to the bugzilla. I've also Cc'd Tim, who uploaded them and has the laptop in question.
Could you pinpoint which kernel version started showing the regression, at least? The diffs are fairly wide between 4.15 and 4.19.
Ah, sorry for not being more clear. The regression appears to be introduced by commit 61fcf8ece9b6, which got backported to v4.15.5 because it addressed a bug with the dock[0]. v4.19.4 with that commit reverted works, according to the bug reporter.
OK, then this seems to be the change of DAC assignment.
Maybe the hardware has some implicit assumption of NID 0x03 bound with the speaker pin. Below is a patch for fixing the pin / DAC mapping. Please give it a try.
thanks,
Takashi
--- diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 06f93032d0cc..50bc2e97d799 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -4988,9 +4988,14 @@ static void alc_fixup_tpt470_dock(struct hda_codec *codec, { 0x19, 0x21a11010 }, /* dock mic */ { } }; + static hda_nid_t preferred_pairs[] = { + 0x14, 0x03, 0x17, 0x02, 0x21, 0x02, + 0 + }; struct alc_spec *spec = codec->spec;
if (action == HDA_FIXUP_ACT_PRE_PROBE) { + spec->gen.preferred_dacs = preferred_pairs; spec->parse_flags = HDA_PINCFG_NO_HP_FIXUP; snd_hda_apply_pincfgs(codec, pincfgs); } else if (action == HDA_FIXUP_ACT_INIT) {