summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-01-24 18:02:43 +0100
committerTakashi Iwai <tiwai@suse.de>2013-01-24 18:02:43 +0100
commitf4f678d22219f5821f46bb78eb4da7f76f1899bc (patch)
tree40d0e8a69133483749437c5a797f0b47a64be906 /sound/pci/hda/patch_sigmatel.c
parentALSA: hda - Implement path-based power filter to the generic parser (diff)
downloadlinux-f4f678d22219f5821f46bb78eb4da7f76f1899bc.tar.xz
linux-f4f678d22219f5821f46bb78eb4da7f76f1899bc.zip
ALSA: hda - Enable power down of unused widgets for IDT codecs
IDT codecs can work well with this new feature, so let's enable it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 5895d8f9a546..1c49861b994f 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -3609,14 +3609,6 @@ static int stac_init(struct hda_codec *codec)
}
}
- /* power down unused DACs */
- for (i = 0; i < spec->gen.num_all_dacs; i++) {
- if (!snd_hda_get_nid_path(codec, spec->gen.all_dacs[i], 0))
- snd_hda_codec_write(codec, spec->gen.all_dacs[i], 0,
- AC_VERB_SET_POWER_STATE,
- AC_PWRST_D3);
- }
-
return 0;
}
@@ -3871,6 +3863,7 @@ static int patch_stac92hd73xx(struct hda_codec *codec)
spec->pwr_nids = stac92hd73xx_pwr_nids;
spec->gen.own_eapd_ctl = 1;
+ spec->gen.power_down_unused = 1;
codec->patch_ops = stac_patch_ops;
@@ -3933,6 +3926,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
spec = codec->spec;
spec->linear_tone_beep = 0;
spec->gen.own_eapd_ctl = 1;
+ spec->gen.power_down_unused = 1;
spec->gen.mixer_nid = 0x1b;
spec->digbeep_nid = 0x21;
@@ -3976,6 +3970,7 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
spec = codec->spec;
spec->linear_tone_beep = 0;
spec->gen.own_eapd_ctl = 1;
+ spec->gen.power_down_unused = 1;
spec->gen.mixer_nid = 0x17;
spec->have_spdif_mux = 1;