Bug 78374

Summary: [HSW/BYT Bisected]igt/kms_setmode/clone-exclusive-crtc causes system hang
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: critical    
Priority: highest CC: intel-gfx-bugs, yi.sun
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
snapshot none

Description Guo Jinxian 2014-05-07 07:58:54 UTC
*System Environment:
--------------------------
Regression: Yes.  
This case was failed before (Bug 68463)

Non-working platforms: HSW

 *kernel: 
--------------------------
-nightly: 30c8c9cd8bc88d6ae70f09d403e725b51e0bd7dd (fails)
-queued: bf67a6fd5ef8ef7f6a8548bc9a6441b290bf2752 (fails)
    Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Date:   Fri May 2 11:35:51 2014 +0300

    drm/i915/chv: Add DPINVGTT registers defines for Cherryview

    Due to Pipe C DPINVGTT has more bits on CHV.

    v2: Fix comment to say VLV/CHV (Rafael)

    Reviewed-by: Rafael Barbalho <rafael.barbalho@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

-fixes: 0aa7de323a32ca0b27769901b9607fc892b90dbc (fails)
    Author: Jani Nikula <jani.nikula@intel.com>
    Date:   Tue May 6 14:56:52 2014 +0300

    drm/i915: use lane count and link rate from VBT as minimums for eDP

    Most likely the minimums for both should be enough for enabling the
    native resolution on the eDP, and we'll end up using the predetermined
    optimal link config for the panel.

    v2: Add debug prints.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73539
    Tested-by: Markus Blank-Burian <burian@muenster.de>
    Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>

 *Bug detailed description:
-----------------------------
igt/kms_setmode/clone-exclusive-crtc causes system hang

unable to get dmesg due to the system was hang and the machine haven't serial port.

Output:
  ./kms_setmode --run-subtest clone-exclusive-crtc
IGT-Version: 1.6-g4bd9fe6 (x86_64) (Linux: 3.14.0-rc7_drm-intel-next-queued_1bf70d_20140328+ x86_64)
Testing: clone-exclusive-crtc 2 connector combinations
  Test id#1 CRTC count 2
    CRTC[3] [Pipe A] Mode: 1920x1080@60Hz Connectors: eDP-1[10]
    CRTC[5] [Pipe B] Mode: 640x480@60Hz Connectors: HDMI-A-1[18] (NC)


 *Reproduce steps:
---------------------------- 
1. ./kms_setmode --run-subtest clone-exclusive-crtc
Comment 1 Guo Jinxian 2014-05-07 08:01:59 UTC
Created attachment 98602 [details]
snapshot
Comment 2 Daniel Vetter 2014-05-15 21:40:45 UTC
Can you please bisect where this regression has been introduced?
Comment 3 Guo Jinxian 2014-05-23 04:37:26 UTC
06ea66b6bb445043dc25a9626254d5c130093199 is the first bad commit
commit 06ea66b6bb445043dc25a9626254d5c130093199
Author:     Todd Previte <tprevite@gmail.com>
AuthorDate: Mon Jan 20 10:19:39 2014 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Fri Jan 24 17:22:54 2014 +0100

    drm/i915: Enable 5.4Ghz (HBR2) link rate for Displayport 1.2-capable devices

    For HSW+ platforms, enable the 5.4Ghz (HBR2) link rate for devices that support it. The
    sink device must report that is supports Displayport 1.2 and the HBR2 bit rate in the
    DPCD in order to use HBR2.

    Signed-off-by: Todd Previte <tprevite@gmail.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>


Revert the commit, igt/kms_setmode/clone-exclusive-crtc doesn't cause system hang. but Bug 68463 was able to reproduce.
Comment 4 Jesse Barnes 2014-06-05 20:55:48 UTC
Assigning to Todd to take a look.  Sounds like link training fun.
Comment 5 Todd Previte 2014-07-15 19:43:19 UTC
Not much to go on here. I reviewed the code for the patch and I honestly can't see how any of it would hang the machine. It's just enabling for the hardware in the specific cases where 5.4Ghz is available.

I'll have to go look at the test, see what it's doing and how this code might affect that.

-T
Comment 6 Guo Jinxian 2014-07-18 05:46:48 UTC
This bug is able to reproduce on latest -nightly(f326cd0fae7e74011d3c0a8bd2be2cd2e2a45407) on byt while running igt/kms_setmode/invalid-clone-single-crtc
Comment 7 Jani Nikula 2014-09-05 13:29:30 UTC
(In reply to comment #6)
> This bug is able to reproduce on latest
> -nightly(f326cd0fae7e74011d3c0a8bd2be2cd2e2a45407) on byt while running
> igt/kms_setmode/invalid-clone-single-crtc

Hmm, the original bug report was about clone-exclusive-crtc. Does that still fail? I wonder if the invalid-clone-single-crtc fail would bisect to the same commit or not.
Comment 8 Guo Jinxian 2014-09-10 01:51:10 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > This bug is able to reproduce on latest
> > -nightly(f326cd0fae7e74011d3c0a8bd2be2cd2e2a45407) on byt while running
> > igt/kms_setmode/invalid-clone-single-crtc
> 
> Hmm, the original bug report was about clone-exclusive-crtc. Does that still
> fail? I wonder if the invalid-clone-single-crtc fail would bisect to the
> same commit or not.

System hang unable to reproduce on both HSW and BYT on latest -nightly(4a3d32734bdcef6813b31f06a58430436e98711e)
Tests invalid-clone-single-crtc and clone-exclusive-crtc are passed on BYT

And Test clone-exclusive-crtc failed(bug 82892)on HSW.

[root@x-hsw24 tests]# time ./kms_setmode --run-subtest clone-exclusive-crtc
IGT-Version: 1.8-gd9d3f4b (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_4a3d32_20140909+ x86_64)
Testing: clone-exclusive-crtc 2 connector combinations
  Test id#1 CRTC count 2
    CRTC[8] [Pipe A] Mode: 1024x768@60Hz Connectors: VGA-1[18]
    CRTC[12] [Pipe B] Mode: 640x480@60Hz Connectors: HDMI-A-1[27] (NC)
Test assertion failure function test_crtc_config, file kms_setmode.c:431:
Failed assertion: config_failed == !!(tconf->flags & TEST_INVALID)
Last errno: 22, Invalid argument
Subtest clone-exclusive-crtc: FAIL (0.696s)

real    0m0.997s
user    0m0.027s
sys     0m0.014s
Comment 9 Jari Tahvanainen 2016-11-22 08:17:21 UTC
Closing 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.