aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index d8d68f5b613..c8c539cb4a8 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -624,7 +624,7 @@ static int stac92xx_auto_create_hp_ctls(struct hda_codec *codec, struct auto_pin
624 if (! pin) 624 if (! pin)
625 return 0; 625 return 0;
626 626
627 wid_caps = snd_hda_param_read(codec, pin, AC_PAR_AUDIO_WIDGET_CAP); 627 wid_caps = get_wcaps(codec, pin);
628 if (wid_caps & AC_WCAP_UNSOL_CAP) 628 if (wid_caps & AC_WCAP_UNSOL_CAP)
629 /* Enable unsolicited responses on the HP widget */ 629 /* Enable unsolicited responses on the HP widget */
630 snd_hda_codec_write(codec, pin, 0, 630 snd_hda_codec_write(codec, pin, 0,
@@ -786,33 +786,10 @@ static int stac9200_parse_auto_config(struct hda_codec *codec)
786 return 1; 786 return 1;
787} 787}
788 788
789static int stac92xx_init_pstate(struct hda_codec *codec)
790{
791 hda_nid_t nid, nid_start;
792 int nodes;
793
794 snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_POWER_STATE, 0x00);
795
796 nodes = snd_hda_get_sub_nodes(codec, codec->afg, &nid_start);
797 for (nid = nid_start; nid < nodes + nid_start; nid++) {
798 unsigned int wid_caps = snd_hda_param_read(codec, nid,
799 AC_PAR_AUDIO_WIDGET_CAP);
800 if (wid_caps & AC_WCAP_POWER)
801 snd_hda_codec_write(codec, nid, 0,
802 AC_VERB_SET_POWER_STATE, 0x00);
803 }
804
805 mdelay(100);
806
807 return 0;
808}
809
810static int stac92xx_init(struct hda_codec *codec) 789static int stac92xx_init(struct hda_codec *codec)
811{ 790{
812 struct sigmatel_spec *spec = codec->spec; 791 struct sigmatel_spec *spec = codec->spec;
813 792
814 stac92xx_init_pstate(codec);
815
816 snd_hda_sequence_write(codec, spec->init); 793 snd_hda_sequence_write(codec, spec->init);
817 794
818 stac92xx_auto_init_multi_out(codec); 795 stac92xx_auto_init_multi_out(codec);