diff options
Diffstat (limited to 'sound/pci/hda/patch_via.c')
-rw-r--r-- | sound/pci/hda/patch_via.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index e0dadcf2030d..e5245544eb52 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
@@ -136,6 +136,7 @@ static struct via_spec *via_new_spec(struct hda_codec *codec) | |||
136 | spec->codec_type = VT1708S; | 136 | spec->codec_type = VT1708S; |
137 | spec->no_pin_power_ctl = 1; | 137 | spec->no_pin_power_ctl = 1; |
138 | spec->gen.indep_hp = 1; | 138 | spec->gen.indep_hp = 1; |
139 | spec->gen.keep_eapd_on = 1; | ||
139 | spec->gen.pcm_playback_hook = via_playback_pcm_hook; | 140 | spec->gen.pcm_playback_hook = via_playback_pcm_hook; |
140 | return spec; | 141 | return spec; |
141 | } | 142 | } |
@@ -231,9 +232,14 @@ static void vt1708_update_hp_work(struct hda_codec *codec) | |||
231 | 232 | ||
232 | static void set_widgets_power_state(struct hda_codec *codec) | 233 | static void set_widgets_power_state(struct hda_codec *codec) |
233 | { | 234 | { |
235 | #if 0 /* FIXME: the assumed connections don't match always with the | ||
236 | * actual routes by the generic parser, so better to disable | ||
237 | * the control for safety. | ||
238 | */ | ||
234 | struct via_spec *spec = codec->spec; | 239 | struct via_spec *spec = codec->spec; |
235 | if (spec->set_widgets_power_state) | 240 | if (spec->set_widgets_power_state) |
236 | spec->set_widgets_power_state(codec); | 241 | spec->set_widgets_power_state(codec); |
242 | #endif | ||
237 | } | 243 | } |
238 | 244 | ||
239 | static void update_power_state(struct hda_codec *codec, hda_nid_t nid, | 245 | static void update_power_state(struct hda_codec *codec, hda_nid_t nid, |
@@ -478,7 +484,9 @@ static int via_suspend(struct hda_codec *codec) | |||
478 | /* Fix pop noise on headphones */ | 484 | /* Fix pop noise on headphones */ |
479 | int i; | 485 | int i; |
480 | for (i = 0; i < spec->gen.autocfg.hp_outs; i++) | 486 | for (i = 0; i < spec->gen.autocfg.hp_outs; i++) |
481 | snd_hda_set_pin_ctl(codec, spec->gen.autocfg.hp_pins[i], 0); | 487 | snd_hda_codec_write(codec, spec->gen.autocfg.hp_pins[i], |
488 | 0, AC_VERB_SET_PIN_WIDGET_CONTROL, | ||
489 | 0x00); | ||
482 | } | 490 | } |
483 | 491 | ||
484 | return 0; | 492 | return 0; |