diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-11-21 02:00:20 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-11-21 02:02:11 -0500 |
commit | a30c9aaa900a5fda21b90d5d6a3eaa3cbf16e330 (patch) | |
tree | 5522ea8b27c3583eec4312752158f0890f8f36b2 | |
parent | 0fc28fc030a85aa3d6d14e9e9fca0c8237c9ffb5 (diff) |
ALSA: hda - Fix missing bass speaker on ASUS N550
The laptop has a built-in speaker on NID 0x1a. It's an LFE only on
the right channel, so we need to provide an explicit chmap, too.
There might be other surround speakers, but they can fixed in addition
at later point, so let's fix the easier bass speaker at first.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65091
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index a90bfab8530f..cc1dfdc1ff74 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4723,6 +4723,8 @@ enum { | |||
4723 | ALC668_FIXUP_DELL_MIC_NO_PRESENCE, | 4723 | ALC668_FIXUP_DELL_MIC_NO_PRESENCE, |
4724 | ALC668_FIXUP_HEADSET_MODE, | 4724 | ALC668_FIXUP_HEADSET_MODE, |
4725 | ALC662_FIXUP_BASS_CHMAP, | 4725 | ALC662_FIXUP_BASS_CHMAP, |
4726 | ALC662_FIXUP_BASS_1A, | ||
4727 | ALC662_FIXUP_BASS_1A_CHMAP, | ||
4726 | }; | 4728 | }; |
4727 | 4729 | ||
4728 | static const struct hda_fixup alc662_fixups[] = { | 4730 | static const struct hda_fixup alc662_fixups[] = { |
@@ -4903,6 +4905,19 @@ static const struct hda_fixup alc662_fixups[] = { | |||
4903 | .chained = true, | 4905 | .chained = true, |
4904 | .chain_id = ALC662_FIXUP_ASUS_MODE4 | 4906 | .chain_id = ALC662_FIXUP_ASUS_MODE4 |
4905 | }, | 4907 | }, |
4908 | [ALC662_FIXUP_BASS_1A] = { | ||
4909 | .type = HDA_FIXUP_PINS, | ||
4910 | .v.pins = (const struct hda_pintbl[]) { | ||
4911 | {0x1a, 0x80106111}, /* bass speaker */ | ||
4912 | {} | ||
4913 | }, | ||
4914 | }, | ||
4915 | [ALC662_FIXUP_BASS_1A_CHMAP] = { | ||
4916 | .type = HDA_FIXUP_FUNC, | ||
4917 | .v.func = alc662_fixup_bass_chmap, | ||
4918 | .chained = true, | ||
4919 | .chain_id = ALC662_FIXUP_BASS_1A, | ||
4920 | }, | ||
4906 | }; | 4921 | }; |
4907 | 4922 | ||
4908 | static const struct snd_pci_quirk alc662_fixup_tbl[] = { | 4923 | static const struct snd_pci_quirk alc662_fixup_tbl[] = { |
@@ -4918,6 +4933,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = { | |||
4918 | SND_PCI_QUIRK(0x1028, 0x0625, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | 4933 | SND_PCI_QUIRK(0x1028, 0x0625, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
4919 | SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), | 4934 | SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), |
4920 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), | 4935 | SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), |
4936 | SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_BASS_1A_CHMAP), | ||
4921 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_CHMAP), | 4937 | SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_CHMAP), |
4922 | SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ", ALC662_FIXUP_BASS_CHMAP), | 4938 | SND_PCI_QUIRK(0x1043, 0x1bf3, "ASUS N76VZ", ALC662_FIXUP_BASS_CHMAP), |
4923 | SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT), | 4939 | SND_PCI_QUIRK(0x1043, 0x8469, "ASUS mobo", ALC662_FIXUP_NO_JACK_DETECT), |