Bug 107705

Summary: [BAT] igt@kms_psr@* - dmesg-fail/warn - PSR idle timed out 0x3000011[23], atomic update may fail
Product: DRI Reporter: Martin Peres <martin.peres>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Martin Peres 2018-08-28 08:30:23 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_4712/fi-cnl-psr/igt@kms_psr@cursor_plane_move.html

(kms_psr:3619) CRITICAL: Test assertion failure function run_test, file ../tests/kms_psr.c:295:
(kms_psr:3619) CRITICAL: Failed assertion: psr_active(data->drm_fd, false)
(kms_psr:3619) CRITICAL: Last errno: 25, Inappropriate ioctl for device
Subtest cursor_plane_move failed.

[  349.069492] Setting dangerous option enable_psr - tainting kernel
[  350.289933] [drm:intel_pipe_update_start [i915]] *ERROR* PSR idle timed out 0x30000113, atomic update may fail
[  350.299896] Setting dangerous option enable_psr - tainting kernel
[  350.353602] [drm:intel_pipe_update_start [i915]] *ERROR* PSR idle timed out 0x30000112, atomic update may fail[  34


https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_4712/fi-cnl-psr/igt@kms_psr@primary_mmap_gtt.html

https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_4712/fi-cnl-psr/igt@kms_psr@primary_page_flip.html

[  346.510586] Setting dangerous option enable_psr - tainting kernel
[  347.733661] [drm:intel_pipe_update_start [i915]] *ERROR* PSR idle timed out 0x30000113, atomic update may fail
[  347.796036] [drm:intel_pipe_update_start [i915]] *ERROR* PSR idle timed out 0x30000112, atomic update may fail
[  348.094340] Setting dangerous option enable_psr - tainting kernel
Comment 1 Dhinakaran Pandiyan 2018-08-28 16:47:48 UTC
With the below patch, this should now be a test assertion failure instead of dmesg-fail

drm/i915/psr: Remove wait_for_idle() for PSR2
CI runs show PSR2 does not go to IDLE with selective update enabled on
all PSR exit triggers. Specifically, logs indicate the hardware enters
"SLEEP Selective Update" and not "IDLE Reset state', like the kernel
expects, when vblank interrupts are enabled. This check was added for PSR1
but incorrectly extended to PSR2, remove the check as it breaks tests
and prints out misleading error messages.

v2: Split out non-code changes (Rodrigo)

Cc: Tarun Vyas <tarun.vyas@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Fixes: c43dbcbbcc8c ("drm/i915/psr: Lockless version of psr_wait_for_idle")
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180824230844.12428-1-dhinakaran.pandiyan@intel.com
Comment 2 Martin Peres 2018-09-03 11:27:15 UTC
(In reply to Dhinakaran Pandiyan from comment #1)
> With the below patch, this should now be a test assertion failure instead of
> dmesg-fail
> 
> drm/i915/psr: Remove wait_for_idle() for PSR2
> CI runs show PSR2 does not go to IDLE with selective update enabled on
> all PSR exit triggers. Specifically, logs indicate the hardware enters
> "SLEEP Selective Update" and not "IDLE Reset state', like the kernel
> expects, when vblank interrupts are enabled. This check was added for PSR1
> but incorrectly extended to PSR2, remove the check as it breaks tests
> and prints out misleading error messages.
> 
> v2: Split out non-code changes (Rodrigo)
> 
> Cc: Tarun Vyas <tarun.vyas@intel.com>
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Fixes: c43dbcbbcc8c ("drm/i915/psr: Lockless version of psr_wait_for_idle")
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Link:
> https://patchwork.freedesktop.org/patch/msgid/20180824230844.12428-1-
> dhinakaran.pandiyan@intel.com

Thanks DK! It indeed did the trick :)

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.