diff mbox series

Add subwoofer quirk for Acer Predator G9-593

Message ID 20240923170105.405647-1-josemonsantorelvas@gmail.com (mailing list archive)
State New, archived
Headers show
Series Add subwoofer quirk for Acer Predator G9-593 | expand

Commit Message

José Relvas Sept. 23, 2024, 5:01 p.m. UTC
From: José Relvas <josemonsantorelvas@gmail.com>

The Acer Predator G9-593 has a 2+1 speaker system which isn't probed correctly.
This patch adds a quirk with the proper pin connections.

Note that I do not own this laptop, so I cannot guarantee that this fixes the issue.
Testing was done by other users here:
https://discussion.fedoraproject.org/t/-/118482

This model appears to have two different dev IDs...

- 0x1177 (as seen on the forum link above)
- 0x1178 (as seen on https://linux-hardware.org/?probe=127df9999f)

I don't think the audio system was changed between model revisions, so the patch
applies for both IDs.

Signed-off-by: José Relvas <josemonsantorelvas@gmail.com>
---
 sound/pci/hda/patch_realtek.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Takashi Iwai Sept. 30, 2024, 7:52 a.m. UTC | #1
On Mon, 23 Sep 2024 19:01:05 +0200,
José Relvas wrote:
> 
> From: José Relvas <josemonsantorelvas@gmail.com>
> 
> The Acer Predator G9-593 has a 2+1 speaker system which isn't probed correctly.
> This patch adds a quirk with the proper pin connections.
> 
> Note that I do not own this laptop, so I cannot guarantee that this fixes the issue.
> Testing was done by other users here:
> https://discussion.fedoraproject.org/t/-/118482
> 
> This model appears to have two different dev IDs...
> 
> - 0x1177 (as seen on the forum link above)
> - 0x1178 (as seen on https://linux-hardware.org/?probe=127df9999f)
> 
> I don't think the audio system was changed between model revisions, so the patch
> applies for both IDs.
> 
> Signed-off-by: José Relvas <josemonsantorelvas@gmail.com>
> ---
>  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 f787ff4182d4..df556c4f0f99 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -7608,6 +7608,7 @@ enum {
>  	ALC256_FIXUP_ASUS_HEADSET_MIC,
>  	ALC256_FIXUP_ASUS_MIC_NO_PRESENCE,
>  	ALC299_FIXUP_PREDATOR_SPK,
> +	ALC255_FIXUP_PREDATOR_SUBWOOFER,
>  	ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE,
>  	ALC289_FIXUP_DELL_SPK1,
>  	ALC289_FIXUP_DELL_SPK2,
> @@ -9027,6 +9028,13 @@ static const struct hda_fixup alc269_fixups[] = {
>  			{ }
>  		}
>  	},
> +	[ALC255_FIXUP_PREDATOR_SUBWOOFER] = {
> +		.type = HDA_FIXUP_PINS,
> +		.v.pins = (const struct hda_pintbl[]) {
> +			{ 0x17, 0x90170151 }, /* use as internal speaker (LFE) */
> +			{ 0x1b, 0x90170152 } /* use as internal speaker (back) */
> +		}
> +	},
>  	[ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE] = {
>  		.type = HDA_FIXUP_PINS,
>  		.v.pins = (const struct hda_pintbl[]) {
> @@ -10104,6 +10112,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>  	SND_PCI_QUIRK(0x1025, 0x1166, "Acer Veriton N4640G", ALC269_FIXUP_LIFEBOOK),
>  	SND_PCI_QUIRK(0x1025, 0x1167, "Acer Veriton N6640G", ALC269_FIXUP_LIFEBOOK),
>  	SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK),
> +	SND_PCI_QUIRK(0x1025, 0x1177, "Acer Predator G9-593", ALC255_FIXUP_PREDATOR_SUBWOOFER),
> +	SND_PCI_QUIRK(0x1025, 0x1178, "Acer Predator G9-593", ALC255_FIXUP_PREDATOR_SUBWOOFER),
>  	SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS),
>  	SND_PCI_QUIRK(0x1025, 0x1248, "Acer Veriton N4660G", ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE),
>  	SND_PCI_QUIRK(0x1025, 0x1269, "Acer SWIFT SF314-54", ALC256_FIXUP_ACER_HEADSET_MIC),

The quirk table is sorted in PCI SSID order.  Could you try to put the
new entries at the right position and resubmit?

Also, please add a proper prefix to the subject line, e.g.
"ALSA: hda/realtek: Add subwoofer quirk ..."


thanks,

Takashi
diff mbox series

Patch

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index f787ff4182d4..df556c4f0f99 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7608,6 +7608,7 @@  enum {
 	ALC256_FIXUP_ASUS_HEADSET_MIC,
 	ALC256_FIXUP_ASUS_MIC_NO_PRESENCE,
 	ALC299_FIXUP_PREDATOR_SPK,
+	ALC255_FIXUP_PREDATOR_SUBWOOFER,
 	ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE,
 	ALC289_FIXUP_DELL_SPK1,
 	ALC289_FIXUP_DELL_SPK2,
@@ -9027,6 +9028,13 @@  static const struct hda_fixup alc269_fixups[] = {
 			{ }
 		}
 	},
+	[ALC255_FIXUP_PREDATOR_SUBWOOFER] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x17, 0x90170151 }, /* use as internal speaker (LFE) */
+			{ 0x1b, 0x90170152 } /* use as internal speaker (back) */
+		}
+	},
 	[ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE] = {
 		.type = HDA_FIXUP_PINS,
 		.v.pins = (const struct hda_pintbl[]) {
@@ -10104,6 +10112,8 @@  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1025, 0x1166, "Acer Veriton N4640G", ALC269_FIXUP_LIFEBOOK),
 	SND_PCI_QUIRK(0x1025, 0x1167, "Acer Veriton N6640G", ALC269_FIXUP_LIFEBOOK),
 	SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK),
+	SND_PCI_QUIRK(0x1025, 0x1177, "Acer Predator G9-593", ALC255_FIXUP_PREDATOR_SUBWOOFER),
+	SND_PCI_QUIRK(0x1025, 0x1178, "Acer Predator G9-593", ALC255_FIXUP_PREDATOR_SUBWOOFER),
 	SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS),
 	SND_PCI_QUIRK(0x1025, 0x1248, "Acer Veriton N4660G", ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x1269, "Acer SWIFT SF314-54", ALC256_FIXUP_ACER_HEADSET_MIC),