diff options
| -rw-r--r-- | sound/pci/hda/patch_via.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 5bc9bd983e8..2f605e59395 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
| @@ -1191,8 +1191,16 @@ static int via_independent_hp_put(struct snd_kcontrol *kcontrol, | |||
| 1191 | /* Get Independent Mode index of headphone pin widget */ | 1191 | /* Get Independent Mode index of headphone pin widget */ |
| 1192 | spec->hp_independent_mode = spec->hp_independent_mode_index == pinsel | 1192 | spec->hp_independent_mode = spec->hp_independent_mode_index == pinsel |
| 1193 | ? 1 : 0; | 1193 | ? 1 : 0; |
| 1194 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CONNECT_SEL, pinsel); | 1194 | if (spec->codec_type == VT1718S) |
| 1195 | snd_hda_codec_write(codec, nid, 0, | ||
| 1196 | AC_VERB_SET_CONNECT_SEL, pinsel ? 2 : 0); | ||
| 1197 | else | ||
| 1198 | snd_hda_codec_write(codec, nid, 0, | ||
| 1199 | AC_VERB_SET_CONNECT_SEL, pinsel); | ||
| 1195 | 1200 | ||
| 1201 | if (spec->codec_type == VT1812) | ||
| 1202 | snd_hda_codec_write(codec, 0x35, 0, | ||
| 1203 | AC_VERB_SET_CONNECT_SEL, pinsel); | ||
| 1196 | if (spec->multiout.hp_nid && spec->multiout.hp_nid | 1204 | if (spec->multiout.hp_nid && spec->multiout.hp_nid |
| 1197 | != spec->multiout.dac_nids[HDA_FRONT]) | 1205 | != spec->multiout.dac_nids[HDA_FRONT]) |
| 1198 | snd_hda_codec_setup_stream(codec, spec->multiout.hp_nid, | 1206 | snd_hda_codec_setup_stream(codec, spec->multiout.hp_nid, |
| @@ -1211,6 +1219,8 @@ static int via_independent_hp_put(struct snd_kcontrol *kcontrol, | |||
| 1211 | activate_ctl(codec, "Headphone Playback Switch", | 1219 | activate_ctl(codec, "Headphone Playback Switch", |
| 1212 | spec->hp_independent_mode); | 1220 | spec->hp_independent_mode); |
| 1213 | } | 1221 | } |
| 1222 | /* update jack power state */ | ||
| 1223 | set_jack_power_state(codec); | ||
| 1214 | return 0; | 1224 | return 0; |
| 1215 | } | 1225 | } |
| 1216 | 1226 | ||
