On 2/13/2018 3:54 PM,
abhijeet.kumar@xxxxxxxxx wrote:
The above changes is as good as revert. But we can still repro the issue.From: Abhijeet Kumar <abhijeet.kumar@xxxxxxxxx> Finite loop and msleep was causing few igt@pm_rpm tests failure for HSW and BDW. Thus removing them. Fixes: 3b5b899ca67d ("ALSA: hda: Make use of core codec functions to sync power state") References: https://bugs.freedesktop.org/show_bug.cgi?id=105069 Signed-off-by: Abhijeet Kumar <abhijeet.kumar@xxxxxxxxx> --- Changes in v2: 1. Removed msleep as well. 2. Modified commit message. sound/hda/hdac_device.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sound/hda/hdac_device.c b/sound/hda/hdac_device.c index 7ba100bb1c3f..678ef8950d0c 100644 --- a/sound/hda/hdac_device.c +++ b/sound/hda/hdac_device.c @@ -1079,15 +1079,13 @@ unsigned int snd_hdac_sync_power_state(struct hdac_device *codec, hda_nid_t nid, unsigned int power_state) { unsigned long end_time = jiffies + msecs_to_jiffies(500); - unsigned int state, actual_state, count; + unsigned int state, actual_state; - for (count = 0; count < 500; count++) { + for (; ;) { state = snd_hdac_codec_read(codec, nid, 0, AC_VERB_GET_POWER_STATE, 0); - if (state & AC_PWRST_ERROR) { - msleep(20); + if (state & AC_PWRST_ERROR) break; - } actual_state = (state >> 4) & 0x0f; if (actual_state == power_state) break; https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7993/all.html Are we sure that this is the only bad commit for regression ?
And by looking at the logs it seems like the reason for test failure is that after disabling all the screen the device state has still not reached the suspended state. Thus timing out and asserting.
<7>[ 357.854160]
[IGT] pm_rpm: starting subtest
basic-pci-d3-state <7>[ 357.854231]
[drm:drm_mode_setcrtc]
[CRTC:37:pipe A] <7>[ 357.854519]
[drm:intel_atomic_check [i915]]
New cdclk calculated to be logical 337500 kHz, actual
337500 kHz <7>[ 357.854617]
[drm:intel_atomic_check [i915]]
New voltage level calculated to be logical 2, actual 2 <7>[ 357.868799]
[drm:intel_disable_pipe [i915]]
disabling pipe A <7>[ 357.887493]
[drm:__intel_fbc_disable [i915]]
Disabling FBC on pipe A <7>[ 357.887600]
[drm:intel_disable_shared_dpll
[i915]] disable WRPLL 1 (active 1, on? 1) for crtc 37 <7>[ 357.887695]
[drm:intel_disable_shared_dpll
[i915]] disabling WRPLL 1 <7>[ 357.887796]
[drm:intel_atomic_commit_tail
[i915]] [ENCODER:58:DDI B] <7>[ 357.887884]
[drm:intel_atomic_commit_tail
[i915]] [ENCODER:64:DDI C] <7>[ 357.887972]
[drm:intel_atomic_commit_tail
[i915]] [ENCODER:66:DP-MST A] <7>[ 357.888052]
[drm:intel_atomic_commit_tail
[i915]] [ENCODER:67:DP-MST B] <7>[ 357.888130]
[drm:intel_atomic_commit_tail
[i915]] [ENCODER:68:DP-MST C] <7>[ 357.888363]
[drm:verify_connector_state.isra.76
[i915]] [CONNECTOR:70:HDMI-A-2] <7>[ 357.888490]
[drm:verify_single_dpll_state.isra.77 [i915]] WRPLL 1 <7>[ 357.888608]
[drm:verify_single_dpll_state.isra.77 [i915]] WRPLL 2 <7>[ 357.888727]
[drm:verify_single_dpll_state.isra.77 [i915]] SPLL <7>[
357.888838]
[drm:verify_single_dpll_state.isra.77 [i915]] LCPLL 810 <7>[ 357.888940]
[drm:verify_single_dpll_state.isra.77 [i915]] LCPLL 1350 <7>[ 357.889052]
[drm:verify_single_dpll_state.isra.77 [i915]] LCPLL 2700 <7>[ 357.889347]
[drm:intel_atomic_commit_tail
[i915]] [CRTC:37:pipe A] <7>[ 357.889583]
[drm:drm_mode_setcrtc]
[CRTC:47:pipe B] <7>[ 357.890214]
[drm:drm_mode_setcrtc]
[CRTC:57:pipe C] <6>[ 358.533287]
e1000e: enp0s25 NIC Link is Up
1000 Mbps Full Duplex, Flow Control: None <7>[ 368.413068]
[IGT] pm_rpm: exiting, ret=99 <- 10 secs diff. that's the timeout for
wait_for_suspended().
Any clue why ata
port is reporting such error when Device is trying to sleep ?
Warm Regards, Abhijeet
|
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx