From dd8565041fbaae12cd6e0d00aeeb9d5f171548eb Mon Sep 17 00:00:00 2001 From: Wang Xingchao Date: Thu, 7 Jun 2012 16:51:33 +0800 Subject: [PATCH] --- yaml --- r: 316119 b: refs/heads/master c: 0f4ccbb02533276ab750961e150aeee06492ed7c h: refs/heads/master i: 316117: 199bd2683240e682c4cb252b995824f0b667d2a8 316115: 45427c7c0f29c336d94b7fca8fc3ccf801812f0a 316111: ff8ca539b36466e35d6fee6426045bba3d48ece1 v: v3 --- [refs] | 2 +- trunk/sound/pci/hda/hda_codec.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 8c198be837b0..d9d86b8d916c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0c7f46ad927cbd29965d4971730de713b478d270 +refs/heads/master: 0f4ccbb02533276ab750961e150aeee06492ed7c diff --git a/trunk/sound/pci/hda/hda_codec.c b/trunk/sound/pci/hda/hda_codec.c index b89c8ecc819a..fedbfae978af 100644 --- a/trunk/sound/pci/hda/hda_codec.c +++ b/trunk/sound/pci/hda/hda_codec.c @@ -3532,8 +3532,11 @@ 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) - msleep(100); + 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); + } snd_hda_codec_read(codec, fg, 0, AC_VERB_SET_POWER_STATE, power_state); snd_hda_codec_set_power_to_all(codec, fg, power_state, true);