Created attachment 99553 [details] dmesg ==System Environment== -------------------------- Regression: Yes. But I can't find good commit on both reset igt and kernel Non-working platforms: PNV ==kernel== -------------------------- -nightly: 36765340cb068dec1216342bfcdbf2678ec29860(fails) -queued: bc76e320f21f8bd790a72bd5dc06909617432352(fails) Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue May 20 22:46:50 2014 +0200 drm/i915: Drop now misleading DDI comment from dp_link_down Since commit 2e82a7203182d0883d0f9450d40ad6e1c6578ad9 Author: Imre Deak <imre.deak@intel.com> Date: Fri Jan 17 15:46:43 2014 +0200 drm/i915: don't disable DP port after a failed link training and commit 5d6a1116c6475404e6505b708320f9579ae19acd Author: Imre Deak <imre.deak@intel.com> Date: Thu Jan 16 18:35:57 2014 +0200 drm/i915: don't disable the DP port if the link is lost we no longer call intel_dp_link_down from generic DP code, but only from the !HAS_DDI dp encoder functions. hsw/bdw have their own encoder disabling callback in intel_ddi.c. Hence the early return is no longer needed and the big comment just confusing, so let's rip it out. To ensure what we don't accidentally use this again on ddi encoders add a WARN_ON instead. Spotted while reading through intel_dp.c Cc: Imre Deak <imre.deak@intel.com> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> -fixes: 4ba4801d73d14690ed15774424e8b1d4c18323a5(fails) Author: Dave Airlie <airlied@redhat.com> Date: Tue May 20 09:56:26 2014 +1000 Merge tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel into drm-fixes Intel fixes for regressions, black screens and hangs, for 3.15. * tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel: drm/i915: Increase WM memory latency values on SNB drm/i915: restore backlight precision when converting from ACPI drm/i915: Use the first mode if there is no preferred mode in the EDID drm/i915/dp: force eDP lane count to max available lanes on BDW drm/i915/vlv: reset VLV media force wake request register drm/i915/SDVO: For sysfs link put directory and target in correct order drm/i915: use lane count and link rate from VBT as minimums for eDP drm/i915: clean up VBT eDP link param decoding drm/i915: consider the source max DP lane count too ==Bug detailed description== ----------------------------- igt/kms_flip some subcases below fail igt/kms_flip/dpms-vs-vblank-race igt/kms_flip/dpms-vs-vblank-race-interruptible igt/kms_flip/modeset-vs-vblank-race igt/kms_flip/modeset-vs-vblank-race-interruptible Output: ./kms_flip --run-subtest modeset-vs-vblank-race-interruptible IGT-Version: 1.6-gc75dcbd (i686) (Linux: 3.15.0-rc5_drm-intel-nightly_367653_20140521+ i686) Using monotonic timestamps Beginning modeset-vs-vblank-race-interruptible on crtc 7, connector 8 1024x600 60 1024 1072 1104 1200 600 603 609 625 0xa 0x48 45000 Test assertion failure function run_test_step, file kms_flip.c:886: Last errno: 4, Interrupted system call Failed assertion: end - start > 1 * frame_time(o) / 2 && end - start < 3 * frame_time(o) / 2 Subtest modeset-vs-vblank-race-interruptible: FAIL ./kms_flip --run-subtest dpms-vs-vblank-race-interruptible IGT-Version: 1.6-g831eb21 (i686) (Linux: 3.15.0-rc5_drm-intel-fixes_f93e94_20140522+ i686) Using monotonic timestamps Beginning dpms-vs-vblank-race-interruptible on crtc 7, connector 8 1024x600 60 1024 1072 1104 1200 600 603 609 625 0xa 0x48 45000 Test assertion failure function run_test_step, file kms_flip.c:865: Last errno: 22, Invalid argument Failed assertion: __wait_for_vblank(TEST_VBLANK_BLOCK, o->pipe, 1, 0, &reply) == 0 Subtest dpms-vs-vblank-race-interruptible: FAIL ==Reproduce steps== ---------------------------- 1. ./kms_flip --run-subtest modeset-vs-vblank-race-interruptible
This issue still able to reproduce on BDW. output: ./kms_flip --run-subtest absolute-wf_vblank-interruptible IGT-Version: 1.6-gc75dcbd (x86_64) (Linux: 3.15.0-rc6_drm-intel-nightly_de544d_20140523+ x86_64) Using monotonic timestamps Beginning absolute-wf_vblank-interruptible on crtc 5, connector 14 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 ............................................................. absolute-wf_vblank-interruptible on crtc 5, connector 14: PASSED Beginning absolute-wf_vblank-interruptible on crtc 8, connector 14 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 Test assertion failure function wait_for_events, file kms_flip.c:1164: Last errno: 4, Interrupted system call Failed assertion: ret > 0 select timed out or error (ret 0) Subtest absolute-wf_vblank-interruptible: FAIL
This bug still able to reproduce on latest -nightly(a7665faa31dbbbae25e376508a9b3781e25d09e2) Output: [root@x-pnv2 tests]# ./kms_flip --run-subtest modeset-vs-vblank-race-interruptible IGT-Version: 1.7-g67e29a3 (i686) (Linux: 3.16.0-rc2_drm-intel-nightly_a7665f_20140701+ i686) Using monotonic timestamps Beginning modeset-vs-vblank-race-interruptible on crtc 9, connector 10 1024x600 60 1024 1072 1104 1200 600 603 609 625 0xa 0x48 45000 ..Test assertion failure function run_test_step, file kms_flip.c:886: Last errno: 4, Interrupted system call Failed assertion: end - start > 1 * frame_time(o) / 2 && end - start < 3 * frame_time(o) / 2 Subtest modeset-vs-vblank-race-interruptible: FAIL
The failure still able to reproduce on latest -fixes(2a592bec50994597716c633191ed6bf7af14defc) on ILK while running tests below: igt/kms_flip/2x-dpms-vs-vblank-race igt/kms_flip/2x-dpms-vs-vblank-race-interruptible igt/kms_flip/2x-modeset-vs-vblank-race [root@x-e6510 tests]# ./kms_flip --run-subtest 2x-dpms-vs-vblank-race-interruptible IGT-Version: 1.7-gf473a55 (i686) (Linux: 3.17.0-rc2_drm-intel-fixes_2a592b_20140902+ i686) Using monotonic timestamps Beginning 2x-dpms-vs-vblank-race-interruptible on crtc 7:11, connector 16:13 1366x768 60 1366 1398 1422 1426 768 771 775 806 0x9 0x48 69000 1366x768 60 1366 1398 1422 1426 768 771 775 806 0x9 0x48 69000 Test assertion failure function run_test_step, file kms_flip.c:884: Failed assertion: end - start > 1 * frame_time(o) / 2 && end - start < 3 * frame_time(o) / 2 Last errno: 4, Interrupted system call Subtest 2x-dpms-vs-vblank-race-interruptible: FAIL
Passing to Ville, the failing assert might be a false positive.
It also impacts BYT.
Is this still an issue with latest igt and kernel?
(In reply to Daniel Vetter from comment #6) > Is this still an issue with latest igt and kernel? Yes, The failure is able to reproduce on latest igt and -nightly(8bee1e2b478ba0eda2385a445007aeeba195646b) root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest dpms-vs-suspend IGT-Version: 1.8-gdbac905 (x86_64) (Linux: 3.18.0-rc6_drm-intel-nightly_8bee1e_20141128+ x86_64) Using monotonic timestamps Unknown subtest: dpms-vs-suspend root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest 2x-dpms-vs-vblank-race-interruptible IGT-Version: 1.8-gdbac905 (x86_64) (Linux: 3.18.0-rc6_drm-intel-nightly_8bee1e_20141128+ x86_64) Using monotonic timestamps Beginning 2x-dpms-vs-vblank-race-interruptible on crtc 8:13, connector 28:16 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 Test assertion failure function run_test_step, file kms_flip.c:873: Failed assertion: end - start > 1 * frame_time(o) / 2 && end - start < 3 * frame_time(o) / 2 Last errno: 4, Interrupted system call Subtest 2x-dpms-vs-vblank-race-interruptible: FAIL (4.684s)
Yeah, the assert is fairly bogus. I'll see about adjusting it a bit.
The testcase was rename to vblank-vs-dpms-suspend in commit c75dcbdac51dcc2d631a4a45049c9421e0229e16 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue May 20 15:45:31 2014 +0200 tests/kms_flip: various improvements Please retest using the new testname. I'll update the summary.
Argh threading screw-up in my MTU, strike comment #9
It looks like IGT commit e06a7448d894392a294d89959fc1cf4e6a01fd19 references this bug, so can you please retest this against latest -nightly and igt?
(In reply to Paulo Zanoni from comment #11) > It looks like IGT commit e06a7448d894392a294d89959fc1cf4e6a01fd19 references > this bug, so can you please retest this against latest -nightly and igt? test with following kernel commit: 0b2a1076c5cb4f383d6a8c940ffab1e27f241097(2015-02-26) Case still fail. root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest ./kms_flip --run-subtest modeset-vs-vblank-race-interruptible IGT-Version: 1.9-g26f4081 (x86_64) (Linux: 4.0.0-rc1_drm-intel-nightly_0b2a10_20150225+ x86_64) Using monotonic timestamps Beginning modeset-vs-vblank-race-interruptible on crtc 20, connector 31 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 (kms_flip:2726) CRITICAL: Test assertion failure function run_test_on_crtc_set, file kms_flip.c:1403: (kms_flip:2726) CRITICAL: Failed assertion: fb_is_bound(o, o->fb_ids[0]) Subtest modeset-vs-vblank-race-interruptible failed. Log Start (kms_flip:2726) DEBUG: Test requirement passed: (flags & TEST_HANG) == 0 || !is_hung(drm_fd) (kms_flip:2726) DEBUG: Test requirement passed: modes (kms_flip:2726) INFO: Beginning modeset-vs-vblank-race-interruptible on crtc 20, connector 31 (kms_flip:2726) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0, size=0 (kms_flip:2726) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=7680) (kms_flip:2726) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0, size=0 (kms_flip:2726) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=3, pitch=7680) (kms_flip:2726) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=1, size=0 (kms_flip:2726) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=4, pitch=8192) (kms_flip:2726) igt-kms-INFO: 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 (kms_flip:2726) CRITICAL: Test assertion failure function run_test_on_crtc_set, file kms_flip.c:1403: (kms_flip:2726) CRITICAL: Failed assertion: fb_is_bound(o, o->fb_ids[0]) Log End Subtest modeset-vs-vblank-race-interruptible: FAIL (0.051s) Received signal SIGTERM.
Test on PNV/BYT/BDW with the latest -nightly kernel.It works well. ./kms_flip --run-subtest modeset-vs-vblank-race-interruptible IGT-Version: 1.9-gf59935c (i686) (Linux: 4.0.0-rc3_drm-intel-nightly_f7def4_20150314+ i686) Using monotonic timestamps Beginning modeset-vs-vblank-race-interruptible on crtc 22, connector 23 1024x600 60 1024 1072 1104 1200 600 603 609 625 0xa 0x48 45000 ....... modeset-vs-vblank-race-interruptible on crtc 22, connector 23: PASSED Beginning modeset-vs-vblank-race-interruptible on crtc 19, connector 29 1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000 ...................................................... modeset-vs-vblank-race-interruptible on crtc 19, connector 29: PASSED Beginning modeset-vs-vblank-race-interruptible on crtc 22, connector 29 1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000 ...................................................... modeset-vs-vblank-race-interruptible on crtc 22, connector 29: PASSED Subtest modeset-vs-vblank-race-interruptible: SUCCESS (11.591s) Received signal SIGTERM.
Verified.Fixed.
Closing (>2 years) old Verified+fixed.
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.