Bug 83471

Summary: [Gen4+] igt/kms_flip suspend subcases fail sporadically
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: cprigent <christophe.prigent>
Status: CLOSED WORKSFORME QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: high CC: christophe.prigent, intel-gfx-bugs, yex.tian
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: BDW, BXT, BYT, G45, GM45, I965G, I965GM, ILK i915 features: display/Other
Attachments:
Description Flags
dmesg none

Description Guo Jinxian 2014-09-04 02:34:22 UTC
Created attachment 105712 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes. 
Good commit on -next-queued: c1f7ab8c9a7b09f4ed6499904298ddf1c67b1764
On good commit, here has another bug 82232

Non-working platforms: SNB

==kernel==
--------------------------
origin/drm-intel-nightly: 2b1159961e4bc38a9090f8ec0ab6f16701dbdf81(fails)
     drm-intel-nightly: 2014y-09m-02d-22h-46m-37s integration manifest
origin/drm-intel-next-queued: d5f0b5cb412003274cde50b0583727d0c33bf6e4(fails)
    drm: Remove old defines for vswing and pre-emph values
origin/drm-intel-fixes: bbfb44e8b688e778964275ab0862f67463ba4f84(another bug 82232)
    drm/i915: Fix lock dropping in intel_tv_detect()

==Bug detailed description==
igt/kms_flip some subcases fail.
Here has a similar bug 82751 before.

Case list:
igt/kms_flip/vblank-vs-dpms-suspend
igt/kms_flip/vblank-vs-dpms-suspend-interruptible
igt/kms_flip/vblank-vs-modeset-suspend
igt/kms_flip/vblank-vs-modeset-suspend-interruptible


Output:
[root@x-sgb4 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend
IGT-Version: 1.7-gf473a55 (i686) (Linux: 3.17.0-rc2_drm-intel-nightly_2b1159_20140903+ i686)
Using monotonic timestamps
Beginning vblank-vs-dpms-suspend on crtc 8, connector 14
  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500
.rtcwake: wakeup from ""mem"" using /dev/rtc0 at Thu Sep  4 10:03:14 2014
.rtcwake: wakeup from ""mem"" using /dev/rtc0 at Thu Sep  4 10:03:46 2014
Test assertion failure function check_state, file kms_flip.c:555:
Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <)
vblank ts before the vblank was issued!
timerdiff -1s, 990389us
Subtest vblank-vs-dpms-suspend: FAIL

Reproduce steps:
-------------------------
1. ./kms_flip --run-subtest vblank-vs-dpms-suspend
Comment 1 Guo Jinxian 2014-09-24 02:51:55 UTC
This failure is able to reproduce on IVB

[root@x-ivb6 tests]# ./kms_flip --run-subtest vblank-vs-suspend
IGT-Version: 1.8-g4b81e9c (x86_64) (Linux: 3.17.0-rc6_drm-intel-fixes_0f33be_20140923_debug+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-suspend on crtc 7, connector 17
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
.rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Sep 24 14:35:27 2014
.rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Sep 24 14:35:59 2014
Test assertion failure function check_state, file kms_flip.c:555:
Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <)
vblank ts before the vblank was issued!
timerdiff -1235s, 711943us
Subtest vblank-vs-suspend: FAIL (2.557s)
Comment 2 fangxun 2014-09-24 10:03:23 UTC
The testcase is unstable. It often fails on first run, but passes on second run. I unable to bisect.
Comment 3 lu hua 2014-10-22 02:49:59 UTC
It impacts i965 platforms.
Comment 4 Guo Jinxian 2014-11-07 05:49:47 UTC
(In reply to fangxun from comment #2)
> The testcase is unstable. It often fails on first run, but passes on second
> run. I unable to bisect.

The testcase unable to bisect.
Comment 5 Daniel Vetter 2014-11-21 10:30:56 UTC
Can you please retest on latest -nightly? We've just merged a few flip fixes.
Comment 6 lu hua 2014-12-10 02:39:57 UTC
(In reply to Daniel Vetter from comment #5)
> Can you please retest on latest -nightly? We've just merged a few flip fixes.

It still fails on latest -nightly kernel.
[root@x-ivb9 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend
IGT-Version: 1.8-gf333981 (x86_64) (Linux: 3.18.0_drm-intel-nightly_34d267_20141209+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-dpms-suspend on crtc 8, connector 18
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
.rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Dec 10 14:22:24 2014
.rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Dec 10 14:22:29 2014
Test assertion failure function check_state, file kms_flip.c:636:
Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <)
vblank ts before the vblank was issued!
timerdiff -1s, 986684us
Subtest vblank-vs-dpms-suspend: FAIL (1.144s)
Comment 7 lu hua 2015-03-16 06:04:30 UTC
As the comment 2 and comment 3, it impact i965 platforms, the result is unstable, not sure it's regression.
Comment 8 lu hua 2015-03-16 06:10:37 UTC
*** Bug 79061 has been marked as a duplicate of this bug. ***
Comment 9 Ander Conselvan de Oliveira 2015-06-04 13:19:18 UTC
*** Bug 90516 has been marked as a duplicate of this bug. ***
Comment 10 cprigent 2015-11-17 17:13:55 UTC
Bug scrub:
Check status on each platforms, report bugs seperately (highest would be SKL and BSW).
Comment 11 Olivier Berthier 2015-12-18 10:41:01 UTC
Bug not reproduced with latest drm-intel-nightly kernel (6817e96) and IGT 1.13 on Sky Lake Y.
Comment 12 Olivier Berthier 2015-12-18 15:11:06 UTC
Not reproduced on BSW with same setup.
Comment 13 Elio 2015-12-18 19:54:44 UTC
This bug is not present with same configuration on HSW
Comment 14 Humberto Israel Perez Rodriguez 2016-01-06 18:25:45 UTC
The following test pass on IVB/SNB with the next configuration :


Case list:
igt/kms_flip/vblank-vs-dpms-suspend
igt/kms_flip/vblank-vs-dpms-suspend-interruptible
igt/kms_flip/vblank-vs-modeset-suspend
igt/kms_flip/vblank-vs-modeset-suspend-interruptible


kernel drm-intel-testing:

commit 91587c722c28c4116dedbfbf08aa874377bc76f8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Dec 4 17:35:54 2015 +0100

    drm-intel-nightly: 2015y-12m-04d-16h-35m-07s UTC integration manifest


kernel version : 4.4.0-rc3
git url        : git://anongit.freedesktop.org/drm-intel
git branch     : drm-intel-testing
git describe   : drm-intel-next-2015-11-20-rebased-13721-g91587c7


igt tools :
branch : intel-gpu-tools-1.13
commit : 2db78a4995a8ee298ae0cd68879baf80407a0e5e

cairo version: 1.15.2 / commit :  db8a7f1 
drm version :  libdrm-2.4.66  / commit : b38a4b2 
intel-driver : 1.6.2 / commit: 683edee
libva version : libva-1.6.2 / commit : 304bc13
mesa version : mesa-11.0.8 / commit : 261daab 
xf86-video-intel version : 2.99.917  / commit : baec802 
xserver version :xorg-server-1.18.0 / commit :7921764
Comment 15 cprigent 2016-02-22 11:08:03 UTC
Not reproduced on SKL, BSW, HSW, IVB and SNB
Comment 16 cprigent 2016-02-22 11:08:26 UTC
So closed as not reproduced

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.