diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_atihdmi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_atihdmi.c b/sound/pci/hda/patch_atihdmi.c index 9a8bb4ce3f8d..27d2e007404b 100644 --- a/sound/pci/hda/patch_atihdmi.c +++ b/sound/pci/hda/patch_atihdmi.c | |||
@@ -58,6 +58,10 @@ static int atihdmi_build_controls(struct hda_codec *codec) | |||
58 | static int atihdmi_init(struct hda_codec *codec) | 58 | static int atihdmi_init(struct hda_codec *codec) |
59 | { | 59 | { |
60 | snd_hda_sequence_write(codec, atihdmi_basic_init); | 60 | snd_hda_sequence_write(codec, atihdmi_basic_init); |
61 | /* SI codec requires to unmute the pin */ | ||
62 | if (get_wcaps(codec, 0x03) & AC_WCAP_OUT_AMP) | ||
63 | snd_hda_codec_write(codec, 0x03, 0, AC_VERB_SET_AMP_GAIN_MUTE, | ||
64 | AMP_OUT_UNMUTE); | ||
61 | return 0; | 65 | return 0; |
62 | } | 66 | } |
63 | 67 | ||
@@ -158,5 +162,6 @@ struct hda_codec_preset snd_hda_preset_atihdmi[] = { | |||
158 | { .id = 0x10027919, .name = "ATI RS600 HDMI", .patch = patch_atihdmi }, | 162 | { .id = 0x10027919, .name = "ATI RS600 HDMI", .patch = patch_atihdmi }, |
159 | { .id = 0x1002791a, .name = "ATI RS690/780 HDMI", .patch = patch_atihdmi }, | 163 | { .id = 0x1002791a, .name = "ATI RS690/780 HDMI", .patch = patch_atihdmi }, |
160 | { .id = 0x1002aa01, .name = "ATI R6xx HDMI", .patch = patch_atihdmi }, | 164 | { .id = 0x1002aa01, .name = "ATI R6xx HDMI", .patch = patch_atihdmi }, |
165 | { .id = 0x10951392, .name = "SI HDMI", .patch = patch_atihdmi }, | ||
161 | {} /* terminator */ | 166 | {} /* terminator */ |
162 | }; | 167 | }; |