Summary: | [IVB Bisected]Subcases dpms-vs-vblank-race-interruptible and modeset-vs-vblank-race of kms_flip fail | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Guo Jinxian <jinxianx.guo> | ||||||
Component: | DRM/Intel | Assignee: | Ville Syrjala <ville.syrjala> | ||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||
Severity: | normal | ||||||||
Priority: | high | CC: | huax.lu, intel-gfx-bugs | ||||||
Version: | unspecified | ||||||||
Hardware: | Other | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Ping for bisect result ... Also does this issue only happen on HDMI? This bug has been fixes before. The merge base 691e6415c891b8b2b082a120b896b443531c4d45 is bad. This means the bug has been fixed between 691e6415c891b8b2b082a120b896b443531c4d45 and [b6842feb63a23a6a988f4e1ffb93408d8ff6931e]. (In reply to comment #2) > Also does this issue only happen on HDMI? DP also fails ./kms_flip --run-subtest dpms-vs-vblank-race-interruptible IGT-Version: 1.6-gc1404e0 (x86_64) (Linux: 3.15.0-rc2_drm-intel-fixes_7f1950_20140429_debug+ x86_64) Using monotonic timestamps Beginning dpms-vs-vblank-race-interruptible on crtc 5, connector 26 1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500 Test assertion failure function run_test_step, file kms_flip.c:901: 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 This commit below fixed the bug. Reset to b6842feb63a23a6a988f4e1ffb93408d8ff6931e and reverted commit b6842feb63a23a6a988f4e1ffb93408d8ff6931e, the test result was failed. commit b6842feb63a23a6a988f4e1ffb93408d8ff6931e Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Thu Mar 27 11:08:45 2014 +0200 drm/i915: Allow user modes to exceed DVI 165MHz limit In commit commit 6375b768a9850b6154478993e5fb566fa4614a9c Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Mon Mar 3 11:33:36 2014 +0200 drm/i915: Reject >165MHz modes w/ DVI monitors the driver started to filter out display modes which exceed the single-link DVI 165Mz dotclock limits when the monitor doesn't report itself as being HDMI compliant. The intent was to filter out all EDID derived modes that require dual-link DVI to operate since we don't support dual-link. However the patch went a bit too far and also causes the driver to reject such modes even when specified by the user. Normally we don't check the sink limitations when setting a mode from the user. This allows the user to specify any mode whether the sink reports to support it or not. This can be useful since often the sinks support more modes than they report in the EDID. So relax the checks a bit, and apply the single-link DVI dotclock limit only when filtering the mode list, and ignore the limit when setting a user specified mode. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=72961 Tested-by: Nicholas Vinson <nvinson@comcast.net> Cc: stable@vger.kernel.org [3.14] Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> :040000 040000 e5dd0a22c4ec8df198400605e960f8c683e732ed 4e2a40b8ecf829d92060ba7561ae6a7f7981878c M drivers (In reply to comment #4) > This commit below fixed the bug. Reset to > b6842feb63a23a6a988f4e1ffb93408d8ff6931e and reverted commit > b6842feb63a23a6a988f4e1ffb93408d8ff6931e, the test result was failed. > > commit b6842feb63a23a6a988f4e1ffb93408d8ff6931e > Author: Ville Syrjälä <ville.syrjala@linux.intel.com> > Date: Thu Mar 27 11:08:45 2014 +0200 > > drm/i915: Allow user modes to exceed DVI 165MHz limit That this would fix the bug seems a bit surprising to me, reassign to Ville, any thoughts? The patches to fix these are sitting in Daniel's topic/drm-vblank-rework branch, so no suprise that -fixes is broken. The tests aren't entirely reliable and can succeed even if the kernel is still broken. SNB has this issue too ./kms_flip --run-subtest modeset-vs-vblank-race-interruptible IGT-Version: 1.6-g8741c22 (x86_64) (Linux: 3.15.0-rc3_drm-intel-fixes_e4c610_20140509+ x86_64) Using monotonic timestamps Beginning modeset-vs-vblank-race-interruptible on crtc 5, connector 21 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x40 154000 ........... modeset-vs-vblank-race-interruptible on crtc 5, connector 21: PASSED Beginning modeset-vs-vblank-race-interruptible on crtc 8, connector 21 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x40 154000 Test assertion failure function run_test_step, file kms_flip.c:873: Last errno: 22, Invalid argument Failed assertion: __wait_for_vblank(TEST_VBLANK_BLOCK, o->pipe, 1, 0, &reply) == 0 Subtest modeset-vs-vblank-race-interruptible: FAIL Created attachment 98728 [details]
dmesg
Ok, this should work on -nightly, but is know to be broken on -fixes. If -nigthly doesn't work, please reopen this bug. *** Bug 75593 has been marked as a duplicate of this bug. *** Verified on latest -nightly [root@x-ivb6 tests]# ./kms_flip --run-subtest dpms-vs-vblank-race-interruptible IGT-Version: 1.7-g1b1f4b1 (x86_64) (Linux: 3.15.0-rc8_drm-intel-nightly_fff6c5_20140618+ x86_64) Using monotonic timestamps Beginning dpms-vs-vblank-race-interruptible on crtc 6, connector 29 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000 ......... dpms-vs-vblank-race-interruptible on crtc 6, connector 29: PASSED Beginning dpms-vs-vblank-race-interruptible on crtc 10, connector 29 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000 ......... dpms-vs-vblank-race-interruptible on crtc 10, connector 29: PASSED Beginning dpms-vs-vblank-race-interruptible on crtc 14, connector 29 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000 ......... dpms-vs-vblank-race-interruptible on crtc 14, connector 29: PASSED Subtest dpms-vs-vblank-race-interruptible: SUCCESS [root@x-ivb6 tests]# ./kms_flip --run-subtest modeset-vs-vblank-race IGT-Version: 1.7-g1b1f4b1 (x86_64) (Linux: 3.15.0-rc8_drm-intel-nightly_fff6c5_20140618+ x86_64) Using monotonic timestamps Beginning modeset-vs-vblank-race on crtc 6, connector 29 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000 ......... modeset-vs-vblank-race on crtc 6, connector 29: PASSED Beginning modeset-vs-vblank-race on crtc 10, connector 29 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000 ......... modeset-vs-vblank-race on crtc 10, connector 29: PASSED Beginning modeset-vs-vblank-race on crtc 14, connector 29 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000 ......... modeset-vs-vblank-race on crtc 14, connector 29: PASSED Subtest modeset-vs-vblank-race: SUCCESS Closing 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.
Created attachment 97929 [details] dmesg System Environment: -------------------------- Platform: IVB kernel: (drm-intel-fixes) 58b87a391d67e35e3aa1fc6c80890b491d73ad46 Bug detailed description: ---------------------------- Subcases dpms-vs-vblank-race-interruptible and modeset-vs-vblank-race of kms_flip fail on latest -fixes(58b87a391d67e35e3aa1fc6c80890b491d73ad46). It's a regression bug: good commit: b6842feb63a23a6a988f4e1ffb93408d8ff6931e bad commit: 58b87a391d67e35e3aa1fc6c80890b491d73ad46 we will bisect it later output on -fixes kernel: ./kms_flip --run-subtest modeset-vs-vblank-race IGT-Version: 1.6-g78e4c2b (x86_64) (Linux: 3.15.0-rc2_drm-intel-fixes_58b87a_20140424_debug+ x86_64) Using monotonic timestamps Beginning modeset-vs-vblank-race on crtc 5, connector 16 1920x1200 60 1920 1968 2000 2080 1200 1203 1209 1235 0x9 0x48 154000 Test assertion failure function run_test_step, file kms_flip.c:901: Last errno: 22, Invalid argument Failed assertion: __wait_for_vblank(TEST_VBLANK_BLOCK, o->pipe, 1, 0, &reply) == 0 Subtest modeset-vs-vblank-race: FAIL Reproduce steps: ---------------------------- 1. ./kms_flip --run-subtest dpms-vs-vblank-race-interruptible or ./kms_flip --run-subtest modeset-vs-vblank-race