| From 9eb8ccb063876f761f1b4dba6273cbc398a07f54 Mon Sep 17 00:00:00 2001 |
| From: Chris Chiu <chiu@endlessm.com> |
| Date: Mon, 30 Dec 2019 11:11:18 +0800 |
| Subject: [PATCH] ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC |
| |
| commit 48e01504cf5315cbe6de9b7412e792bfcc3dd9e1 upstream. |
| |
| ASUS reported that there's an bass speaker in addition to internal |
| speaker and it uses DAC 0x02. It was not enabled in the commit |
| 436e25505f34 ("ALSA: hda/realtek - Enable internal speaker of ASUS |
| UX431FLC") which only enables the amplifier and the front speaker. |
| This commit enables the bass speaker on top of the aforementioned |
| work to improve the acoustic experience. |
| |
| Fixes: 436e25505f34 ("ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC") |
| Signed-off-by: Chris Chiu <chiu@endlessm.com> |
| Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com> |
| Cc: <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20191230031118.95076-1-chiu@endlessm.com |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c |
| index da9df4a3d08a..4abd96299acc 100644 |
| --- a/sound/pci/hda/patch_realtek.c |
| +++ b/sound/pci/hda/patch_realtek.c |
| @@ -5879,11 +5879,12 @@ enum { |
| ALC256_FIXUP_ASUS_HEADSET_MIC, |
| ALC256_FIXUP_ASUS_MIC_NO_PRESENCE, |
| ALC299_FIXUP_PREDATOR_SPK, |
| - ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC, |
| ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE, |
| - ALC294_FIXUP_ASUS_INTSPK_GPIO, |
| ALC289_FIXUP_DELL_SPK2, |
| ALC289_FIXUP_DUAL_SPK, |
| + ALC294_FIXUP_SPK2_TO_DAC1, |
| + ALC294_FIXUP_ASUS_DUAL_SPK, |
| + |
| }; |
| |
| static const struct hda_fixup alc269_fixups[] = { |
| @@ -6939,16 +6940,6 @@ static const struct hda_fixup alc269_fixups[] = { |
| { } |
| } |
| }, |
| - [ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC] = { |
| - .type = HDA_FIXUP_PINS, |
| - .v.pins = (const struct hda_pintbl[]) { |
| - { 0x14, 0x411111f0 }, /* disable confusing internal speaker */ |
| - { 0x19, 0x04a11150 }, /* use as headset mic, without its own jack detect */ |
| - { } |
| - }, |
| - .chained = true, |
| - .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC |
| - }, |
| [ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE] = { |
| .type = HDA_FIXUP_PINS, |
| .v.pins = (const struct hda_pintbl[]) { |
| @@ -6959,13 +6950,6 @@ static const struct hda_fixup alc269_fixups[] = { |
| .chained = true, |
| .chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE |
| }, |
| - [ALC294_FIXUP_ASUS_INTSPK_GPIO] = { |
| - .type = HDA_FIXUP_FUNC, |
| - /* The GPIO must be pulled to initialize the AMP */ |
| - .v.func = alc_fixup_gpio4, |
| - .chained = true, |
| - .chain_id = ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC |
| - }, |
| [ALC289_FIXUP_DELL_SPK2] = { |
| .type = HDA_FIXUP_PINS, |
| .v.pins = (const struct hda_pintbl[]) { |
| @@ -6981,6 +6965,20 @@ static const struct hda_fixup alc269_fixups[] = { |
| .chained = true, |
| .chain_id = ALC289_FIXUP_DELL_SPK2 |
| }, |
| + [ALC294_FIXUP_SPK2_TO_DAC1] = { |
| + .type = HDA_FIXUP_FUNC, |
| + .v.func = alc285_fixup_speaker2_to_dac1, |
| + .chained = true, |
| + .chain_id = ALC294_FIXUP_ASUS_HEADSET_MIC |
| + }, |
| + [ALC294_FIXUP_ASUS_DUAL_SPK] = { |
| + .type = HDA_FIXUP_FUNC, |
| + /* The GPIO must be pulled to initialize the AMP */ |
| + .v.func = alc_fixup_gpio4, |
| + .chained = true, |
| + .chain_id = ALC294_FIXUP_SPK2_TO_DAC1 |
| + }, |
| + |
| }; |
| |
| static const struct snd_pci_quirk alc269_fixup_tbl[] = { |
| @@ -7142,7 +7140,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { |
| SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), |
| SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A), |
| SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), |
| - SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_INTSPK_GPIO), |
| + SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK), |
| SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC), |
| SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), |
| SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC), |
| -- |
| 2.7.4 |
| |