Bug 69161 - igt/kms_flip/2x-flip-vs-absolute-wf_vblank fail with 2-pipe
Summary: igt/kms_flip/2x-flip-vs-absolute-wf_vblank fail with 2-pipe
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: Imre Deak
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-10 03:01 UTC by lu hua
Modified: 2017-10-06 14:43 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (125.07 KB, text/plain)
2013-09-10 03:01 UTC, lu hua
no flags Details
fix dpms restore exit handler (736 bytes, patch)
2013-12-05 21:20 UTC, Imre Deak
no flags Details | Splinter Review
fix sequence step for 2xcrtc subtests (1.11 KB, patch)
2013-12-09 15:33 UTC, Imre Deak
no flags Details | Splinter Review

Description lu hua 2013-09-10 03:01:01 UTC
Created attachment 85527 [details]
dmesg

System Environment:
--------------------------
Platform:  PNV/ILK/SNB/IVB/HSW
Kernel: (drm-intel-nightly)df65b9e959820780c813a18b8adb7494c59323b4

Bug detailed description:
-----------------------------
It fails on PNV/ILK/SNB/IVB/HSW with -fixes,-queued and -nightly kernel.
Test with VGA+DP, VGA+HDMI, DVI+DP, they all fail.
If only attach one connector(VGA/HDMI/DP/DVI), it works well.
It's new case.
Following cases also fail:
igt/kms_flip/2x-flip-vs-absolute-wf_vblank-interruptible	
igt/kms_flip/2x-flip-vs-blocking-wf-vblank	
igt/kms_flip/2x-flip-vs-expired-vblank-interruptible	
igt/kms_flip/2x-flip-vs-modeset-vs-hang	
igt/kms_flip/2x-flip-vs-modeset-vs-hang-interruptible	
igt/kms_flip/2x-flip-vs-panning-vs-hang	
igt/kms_flip/2x-flip-vs-panning-vs-hang-interruptible	
igt/kms_flip/2x-flip-vs-wf_vblank	
igt/kms_flip/2x-flip-vs-wf_vblank-interruptible	
igt/kms_flip/2x-plain-flip-fb-recreate	
igt/kms_flip/2x-plain-flip-fb-recreate-interruptible	
igt/kms_flip/2x-plain-flip-ts-check	
igt/kms_flip/2x-plain-flip-ts-check-interruptible	


output:
Using monotonic timestamps
Beginning 2x-flip-vs-absolute-wf_vblank on crtc 3:5, connector 7:14
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x40 108000
...inter-flip ts jitter: 0s, 66651us
Subtest 2x-flip-vs-absolute-wf_vblank: FAIL
DPMS property not found on 7

Reproduce steps:
----------------------------
1. ./kms_flip --run-subtest 2x-flip-vs-absolute-wf_vblank
Comment 1 Ville Syrjala 2013-10-01 07:26:02 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 2 fangxun 2013-10-10 10:02:25 UTC
It still failed on scanout_new_5 branch with output:
Beginning 2x-flip-vs-absolute-wf_vblank on crtc 3:5, connector 20:22
  1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000
  1920x1200 60 1920 2056 2256 2592 1200 1203 1209 1245 0x6 0x40 193250
..Test assertion failure function check_state_correlation, file kms_flip.c:549:
Failed assertion: fabs(usec_diff) / ftime <= 0.005
timestamp mismatch between flip and vblank (diff -0.0001 sec)
Subtest 2x-flip-vs-absolute-wf_vblank: FAIL
Test assertion failure function set_connector_dpms, file kms_flip.c:269:
Failed assertion: found_it
DPMS property not found on 20
kms_flip: drmtest.c:928: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
Aborted (core dumped)
Comment 3 Daniel Vetter 2013-10-10 10:49:36 UTC
Can you please run this test in gdb and then grab a backtrace when we hit the assert?

kms_flip: drmtest.c:928: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.

This indicates a rather bad bug somewhere in the testcode itself.
Comment 4 Guang Yang 2013-10-11 05:10:14 UTC
BTW,Daniel, does this 2x cases need connecting two monitors for testing?
Comment 5 Daniel Vetter 2013-10-11 07:37:15 UTC
Yeah it only works with 2 screens connected (for now at least, I have some ideas how we could fake screens for automated testing). But the testcase /should/ automatically skip in that case ...
Comment 6 Qingshuai Tian 2013-10-14 08:34:44 UTC
back trace:

#0  0x00000033ee035819 in raise () from /usr/lib64/libc.so.6
#1  0x00000033ee036f28 in abort () from /usr/lib64/libc.so.6
#2  0x0000000000408915 in __igt_fail_assert (exitcode=exitcode@entry=99,
    file=file@entry=0x415be2 "kms_flip.c", line=line@entry=549,
    func=func@entry=0x416ce0 <__func__.16405> "check_state_correlation",
    assertion=assertion@entry=0x4166e8 "fabs(usec_diff) / ftime <= 0.005",
    f=f@entry=0x4166b0 "timestamp mismatch between %s and %s (diff %.4f sec)\n") at drmtest.c:973
#3  0x0000000000406413 in check_state_correlation (es2=0x7fffffffdd38,
    es1=0x7fffffffdcd8, o=0x7fffffffdaa0) at kms_flip.c:547
#4  check_all_state (completed_events=3, o=0x7fffffffdaa0) at kms_flip.c:566
#5  event_loop (o=o@entry=0x7fffffffdaa0, duration_ms=duration_ms@entry=10000)
    at kms_flip.c:1085
#6  0x00000000004072b2 in run_test_on_crtc_pair (duration_ms=10000,
    crtc_idx1=1, crtc_idx0=0, o=0x7fffffffdaa0) at kms_flip.c:1243
#7  run_pair (duration=10000, flags=flags@entry=2848) at kms_flip.c:1370
#8  0x0000000000403aba in main (argc=<optimized out>, argv=<optimized out>)
    at kms_flip.c:1484
Comment 7 Imre Deak 2013-12-05 21:20:42 UTC
Created attachment 90325 [details] [review]
fix dpms restore exit handler

Could you try the attached fix on top of the latest igt?
Comment 8 lu hua 2013-12-06 06:40:33 UTC
(In reply to comment #7)
> Created attachment 90325 [details] [review] [review]
> fix dpms restore exit handler
> 
> Could you try the attached fix on top of the latest igt?

Connect HDMI & VGA, It still fails.
output:
Using monotonic timestamps
Beginning 2x-flip-vs-absolute-wf_vblank on crtc 3:5, connector 9:16
  1280x1024 75 1280 1296 1440 1688 1024 1025 1028 1066 0x5 0x40 135000
  1280x1024 75 1280 1296 1440 1688 1024 1025 1028 1066 0x5 0x40 135000
..inter-flip ts jitter: 0s, 66645us
Subtest 2x-flip-vs-absolute-wf_vblank: FAIL
Comment 9 Imre Deak 2013-12-09 15:33:21 UTC
Created attachment 90519 [details] [review]
fix sequence step for 2xcrtc subtests

(In reply to comment #8)
> (In reply to comment #7)
> > Created attachment 90325 [details] [review] [review] [review]
> > fix dpms restore exit handler
> > 
> > Could you try the attached fix on top of the latest igt?
> 
> Connect HDMI & VGA, It still fails.
> output:
> Using monotonic timestamps
> Beginning 2x-flip-vs-absolute-wf_vblank on crtc 3:5, connector 9:16
>   1280x1024 75 1280 1296 1440 1688 1024 1025 1028 1066 0x5 0x40 135000
>   1280x1024 75 1280 1296 1440 1688 1024 1025 1028 1066 0x5 0x40 135000
> ..inter-flip ts jitter: 0s, 66645us
> Subtest 2x-flip-vs-absolute-wf_vblank: FAIL

Ok, we have two bugs reported in this ticket the above patch is supposed to fix only the one reported in comment#2.

I attached a new fix for the above issue, could you retry with both fixes?
Comment 10 lu hua 2013-12-10 05:26:09 UTC
(In reply to comment #9)
> Created attachment 90519 [details] [review] [review]
> fix sequence step for 2xcrtc subtests
> 
> 
> Ok, we have two bugs reported in this ticket the above patch is supposed to
> fix only the one reported in comment#2.
> 
> I attached a new fix for the above issue, could you retry with both fixes?

Fixed by this patch.
Comment 11 Imre Deak 2013-12-10 17:44:35 UTC
Fixes pushed to igt.
Comment 12 lu hua 2013-12-30 06:47:11 UTC
Verified.Fixed.
Comment 13 Elizabeth 2017-10-06 14:43:18 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.