diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-01-24 18:02:43 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-01-24 18:02:43 +0100 |
commit | f4f678d22219f5821f46bb78eb4da7f76f1899bc (patch) | |
tree | 40d0e8a69133483749437c5a797f0b47a64be906 /sound/pci/hda/patch_sigmatel.c | |
parent | ALSA: hda - Implement path-based power filter to the generic parser (diff) | |
download | linux-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.c | 11 |
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; |