aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_via.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/patch_via.c')
-rw-r--r--sound/pci/hda/patch_via.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index 90645560ed39..80d90cb42853 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -3226,7 +3226,7 @@ static void set_widgets_power_state_vt1718S(struct hda_codec *codec)
3226{ 3226{
3227 struct via_spec *spec = codec->spec; 3227 struct via_spec *spec = codec->spec;
3228 int imux_is_smixer; 3228 int imux_is_smixer;
3229 unsigned int parm; 3229 unsigned int parm, parm2;
3230 /* MUX6 (1eh) = stereo mixer */ 3230 /* MUX6 (1eh) = stereo mixer */
3231 imux_is_smixer = 3231 imux_is_smixer =
3232 snd_hda_codec_read(codec, 0x1e, 0, AC_VERB_GET_CONNECT_SEL, 0x00) == 5; 3232 snd_hda_codec_read(codec, 0x1e, 0, AC_VERB_GET_CONNECT_SEL, 0x00) == 5;
@@ -3249,7 +3249,7 @@ static void set_widgets_power_state_vt1718S(struct hda_codec *codec)
3249 parm = AC_PWRST_D3; 3249 parm = AC_PWRST_D3;
3250 set_pin_power_state(codec, 0x27, &parm); 3250 set_pin_power_state(codec, 0x27, &parm);
3251 update_power_state(codec, 0x1a, parm); 3251 update_power_state(codec, 0x1a, parm);
3252 update_power_state(codec, 0xb, parm); 3252 parm2 = parm; /* for pin 0x0b */
3253 3253
3254 /* PW2 (26h), AOW2 (ah) */ 3254 /* PW2 (26h), AOW2 (ah) */
3255 parm = AC_PWRST_D3; 3255 parm = AC_PWRST_D3;
@@ -3264,6 +3264,9 @@ static void set_widgets_power_state_vt1718S(struct hda_codec *codec)
3264 if (!spec->hp_independent_mode) /* check for redirected HP */ 3264 if (!spec->hp_independent_mode) /* check for redirected HP */
3265 set_pin_power_state(codec, 0x28, &parm); 3265 set_pin_power_state(codec, 0x28, &parm);
3266 update_power_state(codec, 0x8, parm); 3266 update_power_state(codec, 0x8, parm);
3267 if (!spec->hp_independent_mode && parm2 != AC_PWRST_D3)
3268 parm = parm2;
3269 update_power_state(codec, 0xb, parm);
3267 /* MW9 (21h), Mw2 (1ah), AOW0 (8h) */ 3270 /* MW9 (21h), Mw2 (1ah), AOW0 (8h) */
3268 update_power_state(codec, 0x21, imux_is_smixer ? AC_PWRST_D0 : parm); 3271 update_power_state(codec, 0x21, imux_is_smixer ? AC_PWRST_D0 : parm);
3269 3272