summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-08-28 18:26:59 +0200
committerTakashi Iwai <tiwai@suse.de>2012-08-28 18:26:59 +0200
commita184d4e4591bb53fd8b91d6e8b85cffa261fb83e (patch)
treed8d530703e39fcfd612934105d5e1b5fab94d85c /sound/pci/hda/hda_codec.c
parentALSA: hda - Make clear built-in driver optimization (diff)
parentALSA: hda - Don't trust codec EPSS bit for IDT 92HD83xx & co (diff)
downloadlinux-a184d4e4591bb53fd8b91d6e8b85cffa261fb83e.tar.xz
linux-a184d4e4591bb53fd8b91d6e8b85cffa261fb83e.zip
Merge branch 'for-linus' into for-next
Need to merge the fixes regarding EPSS. Conflicts: sound/pci/hda/hda_codec.c
Diffstat (limited to 'sound/pci/hda/hda_codec.c')
-rw-r--r--sound/pci/hda/hda_codec.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 5f9da87d8762..1b35115f7195 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1327,6 +1327,9 @@ int /*__devinit*/ snd_hda_codec_new(struct hda_bus *bus,
if (!codec->d3_stop_clk)
bus->power_keep_link_on = 1;
#endif
+ codec->epss = snd_hda_codec_get_supported_ps(codec,
+ codec->afg ? codec->afg : codec->mfg,
+ AC_PWRST_EPSS);
/* power-up all before initialization */
hda_set_power_state(codec,
@@ -3558,8 +3561,7 @@ static void hda_set_power_state(struct hda_codec *codec, hda_nid_t fg,
/* this delay seems necessary to avoid click noise at power-down */
if (power_state == AC_PWRST_D3) {
/* transition time less than 10ms for power down */
- bool epss = snd_hda_codec_get_supported_ps(codec, fg, AC_PWRST_EPSS);
- msleep(epss ? 10 : 100);
+ msleep(codec->epss ? 10 : 100);
}
/* repeat power states setting at most 10 times*/