aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-11-28 09:24:34 -0500
committerTakashi Iwai <tiwai@suse.de>2013-11-28 09:24:34 -0500
commiteb9ca3ab2194ad9a6c52da0e8bf1b3f1ff9cd6f4 (patch)
tree04ca648891dcef63dd24c2bf2c1414e9c6b2270a /sound
parent1f0bbf03cb829162ec8e6d03c98aaaed88c6f534 (diff)
ALSA: hda - Add LFE chmap to ASUS ET2700
As the previous commit 1f0bbf03cb82 added the pin config for the bass speaker, this patch adds the corresponding LFE-only channel map on ASUS ET2700. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65961 Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_realtek.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index fd835c52618e..c770bdba6531 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1783,6 +1783,7 @@ enum {
1783 ALC882_FIXUP_INV_DMIC, 1783 ALC882_FIXUP_INV_DMIC,
1784 ALC882_FIXUP_NO_PRIMARY_HP, 1784 ALC882_FIXUP_NO_PRIMARY_HP,
1785 ALC887_FIXUP_ASUS_BASS, 1785 ALC887_FIXUP_ASUS_BASS,
1786 ALC887_FIXUP_BASS_CHMAP,
1786}; 1787};
1787 1788
1788static void alc889_fixup_coef(struct hda_codec *codec, 1789static void alc889_fixup_coef(struct hda_codec *codec,
@@ -1916,6 +1917,9 @@ static void alc882_fixup_no_primary_hp(struct hda_codec *codec,
1916 } 1917 }
1917} 1918}
1918 1919
1920static void alc_fixup_bass_chmap(struct hda_codec *codec,
1921 const struct hda_fixup *fix, int action);
1922
1919static const struct hda_fixup alc882_fixups[] = { 1923static const struct hda_fixup alc882_fixups[] = {
1920 [ALC882_FIXUP_ABIT_AW9D_MAX] = { 1924 [ALC882_FIXUP_ABIT_AW9D_MAX] = {
1921 .type = HDA_FIXUP_PINS, 1925 .type = HDA_FIXUP_PINS,
@@ -2112,6 +2116,12 @@ static const struct hda_fixup alc882_fixups[] = {
2112 {0x16, 0x99130130}, /* bass speaker */ 2116 {0x16, 0x99130130}, /* bass speaker */
2113 {} 2117 {}
2114 }, 2118 },
2119 .chained = true,
2120 .chain_id = ALC887_FIXUP_BASS_CHMAP,
2121 },
2122 [ALC887_FIXUP_BASS_CHMAP] = {
2123 .type = HDA_FIXUP_FUNC,
2124 .v.func = alc_fixup_bass_chmap,
2115 }, 2125 },
2116}; 2126};
2117 2127
@@ -4731,7 +4741,7 @@ static const struct snd_pcm_chmap_elem asus_pcm_2_1_chmaps[] = {
4731}; 4741};
4732 4742
4733/* override the 2.1 chmap */ 4743/* override the 2.1 chmap */
4734static void alc662_fixup_bass_chmap(struct hda_codec *codec, 4744static void alc_fixup_bass_chmap(struct hda_codec *codec,
4735 const struct hda_fixup *fix, int action) 4745 const struct hda_fixup *fix, int action)
4736{ 4746{
4737 if (action == HDA_FIXUP_ACT_BUILD) { 4747 if (action == HDA_FIXUP_ACT_BUILD) {
@@ -4939,7 +4949,7 @@ static const struct hda_fixup alc662_fixups[] = {
4939 }, 4949 },
4940 [ALC662_FIXUP_BASS_CHMAP] = { 4950 [ALC662_FIXUP_BASS_CHMAP] = {
4941 .type = HDA_FIXUP_FUNC, 4951 .type = HDA_FIXUP_FUNC,
4942 .v.func = alc662_fixup_bass_chmap, 4952 .v.func = alc_fixup_bass_chmap,
4943 .chained = true, 4953 .chained = true,
4944 .chain_id = ALC662_FIXUP_ASUS_MODE4 4954 .chain_id = ALC662_FIXUP_ASUS_MODE4
4945 }, 4955 },
@@ -4952,7 +4962,7 @@ static const struct hda_fixup alc662_fixups[] = {
4952 }, 4962 },
4953 [ALC662_FIXUP_BASS_1A_CHMAP] = { 4963 [ALC662_FIXUP_BASS_1A_CHMAP] = {
4954 .type = HDA_FIXUP_FUNC, 4964 .type = HDA_FIXUP_FUNC,
4955 .v.func = alc662_fixup_bass_chmap, 4965 .v.func = alc_fixup_bass_chmap,
4956 .chained = true, 4966 .chained = true,
4957 .chain_id = ALC662_FIXUP_BASS_1A, 4967 .chain_id = ALC662_FIXUP_BASS_1A,
4958 }, 4968 },