linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fix speakers on Acer Predator Helios 500 Ryzen laptops
@ 2019-03-04 23:38 Bernhard Rosenkraenzer
  2019-03-13 10:30 ` Takashi Iwai
  0 siblings, 1 reply; 3+ messages in thread
From: Bernhard Rosenkraenzer @ 2019-03-04 23:38 UTC (permalink / raw)
  To: linux-kernel; +Cc: alsa-devel, perex, tiwai

On an Acer Predator Helios 500 (Ryzen version), the laptop's speakers
don't work out of the box.

The problem can be worked around with hdajackretask, remapping the
"Black Headphone, Right side" pin (0x21) to the Internal speaker.

This patch adds a quirk to change this mapping by default.

Signed-off-by: Bernhard Rosenkraenzer <bero@lindev.ch>


diff -up linux-5.0-rc8/sound/pci/hda/patch_realtek.c.0006~ linux-5.0-rc8/sound/pci/hda/patch_realtek.c
--- linux-5.0-rc8/sound/pci/hda/patch_realtek.c.0006~	2019-02-25 01:46:45.000000000 +0100
+++ linux-5.0-rc8/sound/pci/hda/patch_realtek.c	2019-02-25 17:55:27.032586591 +0100
@@ -1857,6 +1857,7 @@ enum {
 	ALC1220_FIXUP_CLEVO_P950,
 	ALC1220_FIXUP_SYSTEM76_ORYP5,
 	ALC1220_FIXUP_SYSTEM76_ORYP5_PINS,
+	ALC299_FIXUP_PREDATOR_SPK,
 };
 
 static void alc889_fixup_coef(struct hda_codec *codec,
@@ -6627,6 +6628,13 @@ static const struct hda_fixup alc269_fix
 		.chained = true,
 		.chain_id = ALC285_FIXUP_LENOVO_HEADPHONE_NOISE
 	},
+	[ALC299_FIXUP_PREDATOR_SPK] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x21, 0x90170150 }, /* use as headset mic, without its own jack detect */
+			{ }
+		}
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -6643,6 +6651,7 @@ static const struct snd_pci_quirk alc269
 	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
 	SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x106d, "Acer Cloudbook 14", ALC283_FIXUP_CHROME_BOOK),
+	SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK),
 	SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
@@ -7037,6 +7046,7 @@ static const struct hda_model_fixup alc2
 	{.id = ALC255_FIXUP_DELL_HEADSET_MIC, .name = "alc255-dell-headset"},
 	{.id = ALC295_FIXUP_HP_X360, .name = "alc295-hp-x360"},
 	{.id = ALC225_FIXUP_HEADSET_JACK, .name = "alc-sense-combo"},
+	{.id = ALC299_FIXUP_PREDATOR_SPK, .name = "predator-spk"},
 	{}
 };
 #define ALC225_STANDARD_PINS \
@@ -7421,6 +7431,8 @@ static const struct snd_hda_pin_quirk al
 		ALC225_STANDARD_PINS,
 		{0x12, 0xb7a60130},
 		{0x17, 0x90170110}),
+	SND_HDA_PIN_QUIRK(0x10221457, 0x1028, "Acer", ALC299_FIXUP_PREDATOR_SPK,
+		{ 0x21, 0x90170150 }),
 	{}
 };
 

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

* Re: [PATCH] Fix speakers on Acer Predator Helios 500 Ryzen laptops
  2019-03-04 23:38 [PATCH] Fix speakers on Acer Predator Helios 500 Ryzen laptops Bernhard Rosenkraenzer
@ 2019-03-13 10:30 ` Takashi Iwai
  2019-03-13 10:39   ` Takashi Iwai
  0 siblings, 1 reply; 3+ messages in thread
From: Takashi Iwai @ 2019-03-13 10:30 UTC (permalink / raw)
  To: Bernhard Rosenkraenzer; +Cc: linux-kernel, alsa-devel, perex

On Tue, 05 Mar 2019 00:38:19 +0100,
Bernhard Rosenkraenzer wrote:
> 
> On an Acer Predator Helios 500 (Ryzen version), the laptop's speakers
> don't work out of the box.
> 
> The problem can be worked around with hdajackretask, remapping the
> "Black Headphone, Right side" pin (0x21) to the Internal speaker.
> 
> This patch adds a quirk to change this mapping by default.
> 
> Signed-off-by: Bernhard Rosenkraenzer <bero@lindev.ch>

Applied, thanks.


Takashi

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

* Re: [PATCH] Fix speakers on Acer Predator Helios 500 Ryzen laptops
  2019-03-13 10:30 ` Takashi Iwai
@ 2019-03-13 10:39   ` Takashi Iwai
  0 siblings, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2019-03-13 10:39 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Bernhard Rosenkraenzer, linux-kernel, alsa-devel, perex

On Wed, 13 Mar 2019 11:30:48 +0100,
Takashi Iwai wrote:
> 
> On Tue, 05 Mar 2019 00:38:19 +0100,
> Bernhard Rosenkraenzer wrote:
> > 
> > On an Acer Predator Helios 500 (Ryzen version), the laptop's speakers
> > don't work out of the box.
> > 
> > The problem can be worked around with hdajackretask, remapping the
> > "Black Headphone, Right side" pin (0x21) to the Internal speaker.
> > 
> > This patch adds a quirk to change this mapping by default.
> > 
> > Signed-off-by: Bernhard Rosenkraenzer <bero@lindev.ch>
> 
> Applied, thanks.

... and looking at the patch again, I found that you added
ALC299_FIXUP_PREDATOR_SPK definition in the wrong place.  It should be
a quirk for alc269-variant while the patch added to alc882-variant.

Also, the addition to alc269_pin_fixup_tbl looks superfluous.  It's a
table to look up the pattern matching of pin configs BIOS sets up, not
the result of the pins after applying the quirk.

The corrected patch is below.  Could you check whether it still works
as expected?


thanks,

Takashi

-- 8< --
From: Bernhard Rosenkraenzer <bero@lindev.ch>
Subject: [PATCH] ALSA: hda/realtek - Fix speakers on Acer Predator Helios 500 Ryzen laptops

On an Acer Predator Helios 500 (Ryzen version), the laptop's speakers
don't work out of the box.

The problem can be worked around with hdajackretask, remapping the
"Black Headphone, Right side" pin (0x21) to the Internal speaker.

This patch adds a quirk to change this mapping by default.

Signed-off-by: Bernhard Rosenkraenzer <bero@lindev.ch>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/patch_realtek.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index c8413d44973c..d47e2fd0a523 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5673,6 +5673,7 @@ enum {
 	ALC225_FIXUP_HEADSET_JACK,
 	ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
 	ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
+	ALC299_FIXUP_PREDATOR_SPK,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -6639,6 +6640,13 @@ static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC285_FIXUP_LENOVO_HEADPHONE_NOISE
 	},
+	[ALC299_FIXUP_PREDATOR_SPK] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x21, 0x90170150 }, /* use as headset mic, without its own jack detect */
+			{ }
+		}
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -6655,6 +6663,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS),
 	SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x106d, "Acer Cloudbook 14", ALC283_FIXUP_CHROME_BOOK),
+	SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK),
 	SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
@@ -7049,6 +7058,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
 	{.id = ALC255_FIXUP_DELL_HEADSET_MIC, .name = "alc255-dell-headset"},
 	{.id = ALC295_FIXUP_HP_X360, .name = "alc295-hp-x360"},
 	{.id = ALC225_FIXUP_HEADSET_JACK, .name = "alc-sense-combo"},
+	{.id = ALC299_FIXUP_PREDATOR_SPK, .name = "predator-spk"},
 	{}
 };
 #define ALC225_STANDARD_PINS \
-- 
2.16.4


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

end of thread, other threads:[~2019-03-13 10:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-04 23:38 [PATCH] Fix speakers on Acer Predator Helios 500 Ryzen laptops Bernhard Rosenkraenzer
2019-03-13 10:30 ` Takashi Iwai
2019-03-13 10:39   ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).