Bug 59999

Summary: [pnv/gm45/SNB] kms_flip error: inter-flip ts jitter
Product: DRI Reporter: yanbing <bingx.a.yan>
Component: DRM/IntelAssignee: Ville Syrjala <ville.syrjala>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: bingx.a.yan, huax.lu, xunx.fang
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
inter-flip-ILK.dmesg
none
inter-flip-IVB.dmesg none

Description yanbing 2013-01-29 03:10:05 UTC
Created attachment 73801 [details]
inter-flip-ILK.dmesg

ILK Environment(32 bit):
--------------------

Kernel: (drm-intel-nightly)2d039f65e28be0be6ef765f6da45df6b3c4efef2
Some additional commit info:
Merge: ef13e7f 735dc0d
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Jan 25 00:00:02 2013 +0100

Description:
--------------------
Using the latest -nightly

1.Running some kms_flip subcases fail and there are same std out.

2.std out:

Using monotonic timestamps
running testcase: flip-vs-blocking-wf-vblank
Beginning flip-vs-blocking-wf-vblank on crtc 3, connector 10
  1366x768 60 1366 1398 1422 1426 768 771 775 806 0x9 0x48 69000
...................................................................................................................inter-flip ts jitter: 0s, 49992us

3.Fail like this ,subcase list on ILK & IVB:
  (1)flip-vs-absolute-wf_vblank
  (2)flip-vs-blocking-wf-vblank
  (3)flip-vs-wf_vblank
  (4)plain-flip-fb-recreate
  (5)plain-flip-ts-check


4.And this fail also exist in IVB.


IVB Environment(64 bit):
--------------------

Kernel: (drm-intel-nightly)5e94786cd18121acb51cf75478b3bf9eec56c26c
Some additional commit info:
Merge: b286e36 735dc0d
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Jan 28 00:29:10 2013 +0100


5.I attached both the dmesg.
Comment 1 yanbing 2013-01-29 03:10:46 UTC
Created attachment 73802 [details]
inter-flip-IVB.dmesg
Comment 2 Daniel Vetter 2013-01-29 08:25:21 UTC
Hm, we seem to miss exactly a frame ...

A few questions:
- How reproducible is this? I'm running some of the mentioned tests in an endless loop on my ilk yet, it seems solid.
- Does booting with drm_kms_helper.poll=0 help?
- Does this only happen on specific ilk/ivb machines (e.g. specific monitors connected) or on all of them? What about snb?
- On a quick lock the ivb machine has only VGA connected. Does the issue also happen on when other outputs instead of VGA are connected, maybe with different screens ...
Comment 3 yanbing 2013-01-30 02:38:19 UTC
(In reply to comment #2)
> Hm, we seem to miss exactly a frame ...
> 
> A few questions:
> - How reproducible is this? I'm running some of the mentioned tests in an
> endless loop on my ilk yet, it seems solid.
> - Does booting with drm_kms_helper.poll=0 help?
> - Does this only happen on specific ilk/ivb machines (e.g. specific monitors
> connected) or on all of them? What about snb?
> - On a quick lock the ivb machine has only VGA connected. Does the issue
> also happen on when other outputs instead of VGA are connected, maybe with
> different screens ...

1. The reproducing steps just as "./kms_flip --run-subtest flip-vs-absolute-wf_vblank" and it will be always fail on my ilk.

2.I had add drm_kms_helper.poll=0 in grub.cfg,but it doesn't help by booting with it,those subcases still fail on ilk.

3.Yes,we had 4 ilk machines,but only 1 of them had this bug,others on these subcases are all pass. And as same as ilk,only 1 of ivb machines had this bug,  not all of ilk & ivb.

4.Snb doesn't had this bug.

***5.On the ivb,I was testing these subcase by 3 monitors connecting at the same time.(VGA & DP & HDMI).Now I retested one time by connectting only 1 monitor.I found you are right,when I connected with VGA,these fail,and all pass except by connecting with VGA.

6.On the ilk,it's a desktop notebook and doesn't connect by none of extranal monitor.
Comment 4 Yi Sun 2013-01-30 03:17:06 UTC
> 3.Yes,we had 4 ilk machines,but only 1 of them had this bug,others on these
> subcases are all pass. And as same as ilk,only 1 of ivb machines had this
> bug,  not all of ilk & ivb.
> 
The one ILK machine existing issue has eDP connected. Is it related to that?
Comment 5 Daniel Vetter 2013-05-26 16:59:40 UTC
Is this still an issue on latest -nightly?
Comment 6 Daniel Vetter 2013-06-12 11:03:08 UTC
Can you please retest with the following patch applied to latest -nightly?

https://patchwork.kernel.org/patch/2709081/
Comment 7 lu hua 2013-06-20 06:21:15 UTC
I test it on (drm-intel-next-queued)cab8b5862acd55019fbeede6940d1a601912d6b8 kernel. It doesn't happen on hsw ivb snb ilk.
It still happens on GM45, PNV, 945GM when run following cases:
igt/kms_flip/blocking-wf_vblank
igt/kms_flip/flip-vs-absolute-wf_vblank
igt/kms_flip/flip-vs-blocking-wf-vblank
igt/kms_flip/flip-vs-panning
igt/kms_flip/flip-vs-wf_vblank
igt/kms_flip/plain-flip-fb-recreate
igt/kms_flip/plain-flip-ts-check
igt/kms_flip/wf_vblank-ts-check

run: ./kms_flip --run-subtest blocking-wf_vblank
output:
Using monotonic timestamps
running testcase: blocking-wf_vblank
Beginning blocking-wf_vblank on crtc 3, connector 5
  1280x800 60 1280 1296 1344 1415 800 801 804 816 0xa 0x48 69300
...inter-vblank ts jitter: 0s, 16777us

dmesg:
[  698.289269] [drm:i915_driver_open],
[  698.289285] [drm:intel_crtc_set_config], [CRTC:3] [FB:37] #connectors=1 (x y) (0 0)
[  698.289291] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  698.289294] [drm:intel_crtc_set_config], [CRTC:4] [NOFB]
[  698.289296] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  698.289303] [drm:i915_driver_open],
[  698.289453] [drm:drm_mode_getresources], CRTC[2] CONNECTORS[6] ENCODERS[6]
[  698.289460] [drm:drm_mode_getresources], CRTC[2] CONNECTORS[6] ENCODERS[6]
[  698.289471] [drm:drm_mode_getresources], CRTC[2] CONNECTORS[6] ENCODERS[6]
[  698.289474] [drm:drm_mode_getresources], CRTC[2] CONNECTORS[6] ENCODERS[6]
[  698.289478] [drm:drm_mode_getconnector], [CONNECTOR:5:?]
[  698.289481] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:LVDS-1]
[  698.289489] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:LVDS-1] probed modes :
[  698.289491] [drm:drm_mode_debug_printmodeline], Modeline 36:"1280x800" 60 69300 1280 1296 1344 1415 800 801 804 816 0x48 0xa
[  698.289495] [drm:drm_mode_getconnector], [CONNECTOR:5:?]
[  698.289501] [drm:drm_mode_getresources], CRTC[2] CONNECTORS[6] ENCODERS[6]
[  698.289504] [drm:drm_mode_getresources], CRTC[2] CONNECTORS[6] ENCODERS[6]
[  698.289525] [drm:drm_mode_addfb], [FB:38]
[  698.289530] [drm:drm_mode_addfb], [FB:39]
[  698.289536] [drm:drm_mode_addfb], [FB:40]
[  698.334045] [drm:drm_mode_setcrtc], [CRTC:3]
[  698.334054] [drm:drm_mode_setcrtc], [CONNECTOR:5:LVDS-1]
[  698.334056] [drm:intel_crtc_set_config], [CRTC:3] [FB:38] #connectors=1 (x y) (0 0)
[  698.334062] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  698.334067] [drm:i9xx_update_plane], Writing base 0042F000 00000000 0 0 5120
[  698.348177] [drm:intel_update_fbc], fbc set to per-chip default
[  698.348180] [drm:intel_update_fbc], fbc disabled per module param
[  699.352239] [drm:intel_update_fbc], fbc set to per-chip default
[  699.352241] [drm:intel_update_fbc], fbc disabled per module param
[  699.402719] [drm:intel_crtc_set_config], [CRTC:3] [FB:37] #connectors=1 (x y) (0 0)
[  699.402723] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  699.402727] [drm:i9xx_update_plane], Writing base 00046000 00000000 0 0 5120
[  699.454216] [drm:intel_wait_for_vblank], vblank wait timed out
[  699.454217] [drm:intel_update_fbc], fbc set to per-chip default
[  699.454219] [drm:intel_update_fbc], fbc disabled per module param
[  699.454222] [drm:intel_crtc_set_config], [CRTC:4] [NOFB]
[  699.454225] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  699.454229] [drm:intel_crtc_set_config], [CRTC:3] [FB:37] #connectors=1 (x y) (0 0)
[  699.454232] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  699.454245] [drm:intel_crtc_set_config], [CRTC:3] [FB:37] #connectors=1 (x y) (0 0)
[  699.454248] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  699.457817] [drm:i915_driver_open],
[  699.457827] [drm:i915_driver_open],
[  699.466786] [drm:intel_crtc_set_config], [CRTC:3] [FB:37] #connectors=1 (x y) (0 0)
[  699.466790] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
[  699.466792] [drm:intel_crtc_set_config], [CRTC:4] [NOFB]
[  699.466794] [drm:intel_modeset_stage_output_state], [CONNECTOR:5:LVDS-1] to [CRTC:3]
Comment 8 Daniel Vetter 2013-09-09 09:19:23 UTC
Just to check: Are any of the still failing machines 64bit installations?
Comment 9 lu hua 2013-09-18 05:50:53 UTC
(In reply to comment #8)
> Just to check: Are any of the still failing machines 64bit installations?

It still fails on GM45(64bit machine) with -latest nightly and -fixes kernel
run  ./kms_flip --run-subtest blocking-wf_vblank
Using monotonic timestamps
Beginning blocking-wf_vblank on crtc 3, connector 5
  1280x800 60 1280 1296 1344 1415 800 801 804 816 0xa 0x48 69300
..inter-vblank ts jitter: 0s, 16761us
Subtest blocking-wf_vblank: FAIL
DPMS property not found on 5
Comment 10 Ville Syrjala 2013-10-01 07:25:38 UTC
Here's a git branch with some vblank related fixes:
git://gitorious.org/vsyrjala/linux.git scanout_new_5

Please test it and let us know if it fixes the problems.
Comment 11 Gordon Jin 2013-10-11 05:03:22 UTC
Xun, please follow up on behalf of Hua during his vacation.
Comment 12 Guo Jinxian 2013-10-16 07:22:56 UTC
(In reply to comment #10)
> Here's a git branch with some vblank related fixes:
> git://gitorious.org/vsyrjala/linux.git scanout_new_5
> 
> Please test it and let us know if it fixes the problems.


I test the branch above. It still happens on GM45 when run following cases:
igt/kms_flip/blocking-wf_vblank
igt/kms_flip/flip-vs-absolute-wf_vblank
igt/kms_flip/flip-vs-blocking-wf-vblank
igt/kms_flip/flip-vs-wf_vblank
igt/kms_flip/plain-flip-fb-recreate
igt/kms_flip/plain-flip-ts-check
igt/kms_flip/wf_vblank-ts-check

run: ./kms_flip --run-subtest blocking-wf_vblank
Using monotonic timestamps
Beginning blocking-wf_vblank on crtc 3, connector 5
  1280x800 60 1280 1296 1344 1415 800 801 804 816 0xa 0x48 69300
..inter-vblank ts jitter: 0s, 16779us
Comment 13 lu hua 2013-11-28 06:20:27 UTC
Test on GM45 with latest -nightly kernel, Following still fail:
igt/kms_flip/flip-vs-absolute-wf_vblank	
igt/kms_flip/flip-vs-wf_vblank-interruptible	
igt/kms_flip/plain-flip-fb-recreate	
igt/kms_flip/plain-flip-fb-recreate-interruptible	
igt/kms_flip/plain-flip-ts-check-interruptible	

run ./kms_flip --run-subtest flip-vs-absolute-wf_vblank
output:
Using monotonic timestamps
Beginning flip-vs-absolute-wf_vblank on crtc 3, connector 5
  1280x800 60 1280 1296 1344 1415 800 801 804 816 0xa 0x48 69300
..inter-flip ts jitter: 0s, 167624us
Subtest flip-vs-absolute-wf_vblank: FAIL
Test assertion failure function set_connector_dpms, file kms_flip.c:274:
Failed assertion: found_it
DPMS property not found on 5
Comment 14 lu hua 2014-01-10 06:20:12 UTC
Subcase plain-flip-fb-recreate-interruptible and plain-flip-ts-check also fail on Sandybridge(32 bit) with -queued and -fixes kernel.

run ./kms_flip --run-subtest plain-flip-fb-recreate-interruptible  
output:                                                                                             IGT-Version: 1.5-g7775fca (i686) (Linux: 3.13.0-rc7_drm-intel-fixes_0882da_20140109+ i686)
Using monotonic timestamps
Beginning plain-flip-fb-recreate-interruptible on crtc 3, connector 7
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
..............................................................................................................................................................................................................................................................................................................................................................................inter-flip ts jitter: 0s, 16752us
Subtest plain-flip-fb-recreate-interruptible: FAIL
Comment 15 Jani Nikula 2014-09-11 16:46:14 UTC
Timeout, please re-test current drm-intel-nightly.
Comment 16 lu hua 2014-09-12 03:04:49 UTC
Test on latest -nightly kernel, It works well.
[root@x-sgb4 tests]# ./kms_flip --run-subtest plain-flip-fb-recreate-interruptible
IGT-Version: 1.8-g107151c (i686) (Linux: 3.17.0-rc4_drm-intel-nightly_72faa6_20140911+ i686)
Using monotonic timestamps
Beginning plain-flip-fb-recreate-interruptible on crtc 8, connector 14
  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
plain-flip-fb-recreate-interruptible on crtc 8, connector 14: PASSED

Beginning plain-flip-fb-recreate-interruptible on crtc 12, connector 14
  1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
plain-flip-fb-recreate-interruptible on crtc 12, connector 14: PASSED

Subtest plain-flip-fb-recreate-interruptible: SUCCESS (30.353s)
Comment 17 lu hua 2014-09-12 03:05:02 UTC
Verified.Fixed.
Comment 18 Elizabeth 2017-10-06 14:46:59 UTC
Closing old verified.

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.