ALSA: hda - Enable power down of unused widgets for IDT codecs
authorTakashi Iwai <tiwai@suse.de>
Thu, 24 Jan 2013 17:02:43 +0000 (18:02 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 24 Jan 2013 17:02:43 +0000 (18:02 +0100)
IDT codecs can work well with this new feature, so let's enable it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_sigmatel.c

index 5895d8f9a546d53eb6cd60b23c1ba186199cc5da..1c49861b994f74915adadd92f4a7a54209d6c0d5 100644 (file)
@@ -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;