diff options
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 16 |
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 | ||
1788 | static void alc889_fixup_coef(struct hda_codec *codec, | 1789 | static 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 | ||
1920 | static void alc_fixup_bass_chmap(struct hda_codec *codec, | ||
1921 | const struct hda_fixup *fix, int action); | ||
1922 | |||
1919 | static const struct hda_fixup alc882_fixups[] = { | 1923 | static 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 */ |
4734 | static void alc662_fixup_bass_chmap(struct hda_codec *codec, | 4744 | static 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 | }, |