All of lore.kernel.org
 help / color / mirror / Atom feed
* Regression: very quiet speakers on Thinkpad T570s
@ 2018-11-30 14:49 Jeremy Cline
  2018-11-30 16:00 ` Takashi Iwai
  0 siblings, 1 reply; 7+ messages in thread
From: Jeremy Cline @ 2018-11-30 14:49 UTC (permalink / raw)
  To: Kailang Yang, Takashi Iwai, Jaroslav Kysela
  Cc: Tim Van den Eynde, alsa-devel, Linux Kernel Mailing List

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.

[0] https://bugzilla.redhat.com/show_bug.cgi?id=1554304

Regards,
Jeremy

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression: very quiet speakers on Thinkpad T570s
  2018-11-30 14:49 Regression: very quiet speakers on Thinkpad T570s Jeremy Cline
@ 2018-11-30 16:00 ` Takashi Iwai
  2018-11-30 16:51   ` Jeremy Cline
  0 siblings, 1 reply; 7+ messages in thread
From: Takashi Iwai @ 2018-11-30 16:00 UTC (permalink / raw)
  To: Jeremy Cline
  Cc: Kailang Yang, Jaroslav Kysela, Tim Van den Eynde, alsa-devel,
	Linux Kernel Mailing List

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.
> 
> [0] https://bugzilla.redhat.com/show_bug.cgi?id=1554304

Could you pinpoint which kernel version started showing the
regression, at least?  The diffs are fairly wide between 4.15 and
4.19.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression: very quiet speakers on Thinkpad T570s
  2018-11-30 16:00 ` Takashi Iwai
@ 2018-11-30 16:51   ` Jeremy Cline
  2018-12-01 14:44       ` Takashi Iwai
  0 siblings, 1 reply; 7+ messages in thread
From: Jeremy Cline @ 2018-11-30 16:51 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Kailang Yang, Jaroslav Kysela, Tim Van den Eynde, alsa-devel,
	Linux Kernel Mailing List

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.
>>
>> [0] https://bugzilla.redhat.com/show_bug.cgi?id=1554304
> 
> 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.

[0] https://bugzilla.kernel.org/show_bug.cgi?id=195161

Regards,
Jeremy

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression: very quiet speakers on Thinkpad T570s
  2018-11-30 16:51   ` Jeremy Cline
@ 2018-12-01 14:44       ` Takashi Iwai
  0 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2018-12-01 14:44 UTC (permalink / raw)
  To: Jeremy Cline
  Cc: Kailang Yang, Jaroslav Kysela, Tim Van den Eynde, alsa-devel,
	Linux Kernel Mailing List

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.
> >>
> >> [0] https://bugzilla.redhat.com/show_bug.cgi?id=1554304
> > 
> > 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.
> 
> [0] https://bugzilla.kernel.org/show_bug.cgi?id=195161

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: Regression: very quiet speakers on Thinkpad T570s
@ 2018-12-01 14:44       ` Takashi Iwai
  0 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2018-12-01 14:44 UTC (permalink / raw)
  To: Jeremy Cline
  Cc: Tim Van den Eynde, alsa-devel, Kailang Yang, Linux Kernel Mailing List

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.
> >>
> >> [0] https://bugzilla.redhat.com/show_bug.cgi?id=1554304
> > 
> > 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.
> 
> [0] https://bugzilla.kernel.org/show_bug.cgi?id=195161

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: Regression: very quiet speakers on Thinkpad T570s
  2018-12-01 14:44       ` Takashi Iwai
  (?)
@ 2018-12-02 16:57       ` Jeremy Cline
  2018-12-03  9:51         ` Takashi Iwai
  -1 siblings, 1 reply; 7+ messages in thread
From: Jeremy Cline @ 2018-12-02 16:57 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Kailang Yang, Jaroslav Kysela, Tim Van den Eynde, alsa-devel,
	Linux Kernel Mailing List

On 12/1/18 9:44 AM, Takashi Iwai wrote:
> 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.
>>>>
>>>> [0] https://bugzilla.redhat.com/show_bug.cgi?id=1554304
>>>
>>> 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.
>>
>> [0] https://bugzilla.kernel.org/show_bug.cgi?id=195161
> 
> 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) {
> 

That patch does indeed fix the problem according to the original
reporter.

Thanks,
Jeremy

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Regression: very quiet speakers on Thinkpad T570s
  2018-12-02 16:57       ` Jeremy Cline
@ 2018-12-03  9:51         ` Takashi Iwai
  0 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2018-12-03  9:51 UTC (permalink / raw)
  To: Jeremy Cline
  Cc: Kailang Yang, Jaroslav Kysela, Tim Van den Eynde, alsa-devel,
	Linux Kernel Mailing List

On Sun, 02 Dec 2018 17:57:06 +0100,
Jeremy Cline wrote:
> 
> On 12/1/18 9:44 AM, Takashi Iwai wrote:
> > 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.
> >>>>
> >>>> [0] https://bugzilla.redhat.com/show_bug.cgi?id=1554304
> >>>
> >>> 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.
> >>
> >> [0] https://bugzilla.kernel.org/show_bug.cgi?id=195161
> > 
> > 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) {
> > 
> 
> That patch does indeed fix the problem according to the original
> reporter.

Good to hear.  Below is the patch with a proper patch description I'm
going to merge.


thanks,

Takashi

-- 8< --
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] ALSA: hda/realtek - Fix speaker output regression on Thinkpad
 T570

We've got a regression report for some Thinkpad models (at least
T570s) which shows the too low speaker output volume.  The bisection
leaded to the commit 61fcf8ece9b6 ("ALSA: hda/realtek - Enable Thinkpad
Dock device for ALC298 platform"), and it's basically adding the two
pin configurations for the dock, and looks harmless.

The real culprit seems, though, that the DAC assignment for the
speaker pin is implicitly assumed on these devices, i.e. pin NID 0x14
to be coupled with DAC NID 0x03.  When more pins are configured by the
commit above, the auto-parser changes the DAC assignment, and this
resulted in the regression.

As a workaround, just provide the fixed pin / DAC mapping table for
this Thinkpad fixup function.  It's no generic solution, but the
problem itself is pretty much device-specific, so must be good
enough.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1554304
Fixes: 61fcf8ece9b6 ("ALSA: hda/realtek - Enable Thinkpad Dock device for ALC298 platform")
Cc: <stable@vger.kernel.org>
Reported-and-tested-by: Jeremy Cline <jcline@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/patch_realtek.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 06f93032d0cc..802f1f1b3a19 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4988,9 +4988,18 @@ static void alc_fixup_tpt470_dock(struct hda_codec *codec,
 		{ 0x19, 0x21a11010 }, /* dock mic */
 		{ }
 	};
+	/* Assure the speaker pin to be coupled with DAC NID 0x03; otherwise
+	 * the speaker output becomes too low by some reason on Thinkpads with
+	 * ALC298 codec
+	 */
+	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) {
-- 
2.19.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-12-03  9:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-30 14:49 Regression: very quiet speakers on Thinkpad T570s Jeremy Cline
2018-11-30 16:00 ` Takashi Iwai
2018-11-30 16:51   ` Jeremy Cline
2018-12-01 14:44     ` Takashi Iwai
2018-12-01 14:44       ` Takashi Iwai
2018-12-02 16:57       ` Jeremy Cline
2018-12-03  9:51         ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.