Starting at CI_DRM_3839 https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3839/fi-bdw-5557u/igt@pm_rpm@basic-pci-d3-state.html https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3839/fi-hsw-4770/igt@pm_rpm@basic-pci-d3-state.html https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3839/fi-bdw-5557u/igt@pm_rpm@basic-rte.html https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3839/fi-hsw-4770/igt@pm_rpm@basic-rte.html (pm_rpm:4467) CRITICAL: Test assertion failure function basic_subtest, file pm_rpm.c:720: (pm_rpm:4467) CRITICAL: Failed assertion: wait_for_suspended() Subtest basic-rte failed. is this related to bug 105069 where an audio patch was reverted.
Note CI_DRM_3839 is first 4.16.0-rc3, however, 4.16.0-rc3 at https://intel-gfx-ci.01.org/tree/linus/ doesn't reproduce the issue.
Reproduced on my BDW NUCi3 drm-tip
I believe something i weird on drm-tip. commit 6d167e8d8eaeb7574583e47e207914d3089be0a4 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Feb 14 11:34:21 2018 +0000 Revert "ALSA: hda: Make use of core codec functions to sync power state" This reverts commit 3b5b899ca67db07a4c4825911072221f99e157e2. References: https://bugs.freedesktop.org/show_bug.cgi?id=105069 diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 5bc3a7468e17..e018ecbf78a8 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -2702,6 +2702,32 @@ void snd_hda_codec_set_power_to_all(struct hda_codec *codec, hda_nid_t fg, } EXPORT_SYMBOL_GPL(snd_hda_codec_set_power_to_all); +/* + * wait until the state is reached, returns the current state + */ +static unsigned int hda_sync_power_state(struct hda_codec *codec, + hda_nid_t fg, + unsigned int power_state) +{ + unsigned long end_time = jiffies + msecs_to_jiffies(500); + unsigned int state, actual_state; + + for (;;) { + state = snd_hda_codec_read(codec, fg, 0, + AC_VERB_GET_POWER_STATE, 0); + if (state & AC_PWRST_ERROR) + break; + actual_state = (state >> 4) & 0x0f; + if (actual_state == power_state) + break; + if (time_after_eq(jiffies, end_time)) + break; + /* wait until the codec reachs to the target state */ + msleep(1); + } + return state; +} + /** * snd_hda_codec_eapd_power_filter - A power filter callback for EAPD * @codec: the HDA codec @@ -2764,7 +2790,7 @@ static unsigned int hda_set_power_state(struct hda_codec *codec, state); snd_hda_codec_set_power_to_all(codec, fg, power_state); } - state = snd_hda_sync_power_state(codec, fg, power_state); + state = hda_sync_power_state(codec, fg, power_state); if (!(state & AC_PWRST_ERROR)) break; } However, when I open the sound/pci/hda/hda_codec.c there is no: static unsigned int hda_sync_power_state(...) function and: state = snd_hda_sync_power_state(codec, fg, power_state);
Rebuilt topic/core-for-CI. Doing a rebase onto v4.16-rc3 lost the magic git was using to order the two series together, it does require keeping the merge commit of sound/next into topic/core-for-CI.
Closing, please re-open if still occurs.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.