Bug 78322

Summary: [All bisected]igt/drv_hangman fails
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Mika Kuoppala <mika.kuoppala>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: blocker    
Priority: highest CC: intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
tests/drv_hangman: Convert test from shell script to c
none
dmesg none

Description Guo Jinxian 2014-05-06 05:13:46 UTC
Created attachment 98534 [details]
dmesg

*System Environment:
--------------------------
Regression: Yes. 
Reset igt to 5188bbe23ea6e7a2bf4d5572b64f410399aba9f7, the error was same with bug 71333 

Non-working platforms: All
Working platforms: No

 *kernel: 
--------------------------
-nightly: 08ce6614d07dd1e426109672a5e323317c8d6ec7 (fails)
-queued: e5c03ca362819ba8ffbe5674340b61b9cd75de8f (fails)
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Thu Apr 24 23:54:45 2014 +0200

    drm/i915/sdvo: Remove ->mode_set callback

    SDVO is used by both crtcs using the i9xx_ and the ironlake_
    functions. For both cases there is nothing between the
    encoder->mode_set and the encoder->pre_enable calls that touches the
    hardware.

    The vlv_ functions are different since they enable the pll before the
    ->pre_enable hook. But SDVO isn't supported on vlv platforms, so this
    doesn't matter.

    We've also already clean up all the sdvo state computation logic, all
    relevant parts are already in the ->compute_config hook.  So we can
    just get rid of the ->mode_set hook by converting it to a ->pre_enable
    hook.

    Reviewed-by: Imre Deak <imre.deak@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

-fixes: 9bbfd20abe5025adbb0ac75160bd2e41158a9e83 (fails)
    Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Date:   Tue Apr 29 11:00:22 2014 -0300

    drm/i915: don't try DP_LINK_BW_5_4 on HSW ULX

    Because the docs say ULX doesn't support it on HSW.

    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>

 *Bug detailed description:
-----------------------------
igt/drv_hangman fails

Output:
 ./drv_hangman
checking /sys/kernel/debug/dri/0/i915_error_state
rings stopped
Warning on condition flags != 0 in fucntion check_stop_rings, file drmtest.c:97
i915_ring_stop flags on exit 0xf, can't quiescent gpu cleanly
gpu hang not detected

if reset igt to 5188bbe23ea6e7a2bf4d5572b64f410399aba9f7, then run the test, the output was:
 ./drv_hangman
checking /sys/kernel/debug/dri/0/i915_error_state
rings stopped
gpu hang correctly detected
checking /sys/class/drm/card0/error
rings stopped
gpu hang correctly detected


 *Reproduce steps:
---------------------------- 
1. ./drv_hangman
Comment 1 Daniel Vetter 2014-05-15 22:06:19 UTC
Regression ... please bisect, I don't really have an idea what's busted here.
Comment 2 Guo Jinxian 2014-05-16 06:28:54 UTC
bfa6fa9a4bfdd7988a1ed68c9c97f9cc53d0f50c is the first bad commit
commit bfa6fa9a4bfdd7988a1ed68c9c97f9cc53d0f50c
Author:     Mika Kuoppala <mika.kuoppala@intel.com>
AuthorDate: Tue Mar 25 12:21:44 2014 +0200
Commit:     Mika Kuoppala <mika.kuoppala@intel.com>
CommitDate: Thu Apr 10 17:40:48 2014 +0300

    lib: add igt_get_stop_rings and igt_set_stop_rings

    Multiple tests are introducing hangs by fidding with i915_ring_stop
    debugfs entry.

    Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>



This commit unable to revert.
Comment 3 Daniel Vetter 2014-05-16 08:28:58 UTC
Please reassign to author of bisected commit ...
Comment 4 Daniel Vetter 2014-05-19 07:10:14 UTC
Blocks my testing over here for another regression.
Comment 5 Mika Kuoppala 2014-05-20 15:34:19 UTC
Created attachment 99425 [details] [review]
tests/drv_hangman: Convert test from shell script to c
Comment 6 Guo Jinxian 2014-05-21 01:18:09 UTC
Created attachment 99457 [details]
dmesg

(In reply to comment #5)
> Created attachment 99425 [details] [review] [review]
> tests/drv_hangman: Convert test from shell script to c

./drv_hangman
IGT-Version: 1.6-g315ce02 (x86_64) (Linux: 3.15.0-rc3_drm-intel-next-queued_b6fdd0_20140520+ x86_64)
Subtest error-state-debugfs-entry: SUCCESS
Subtest error-state-sysfs-entry: SUCCESS
Subtest ring-stop-sysfs-entry: SUCCESS
Subtest ring-missed-irq-sysfs-entry: SUCCESS
Subtest error-state-basic: SUCCESS
contents of i915_ring_missed_irq: '0x00000000' (expected not '0x00000000'
Subtest ring-missed-irq: FAIL
Comment 7 Mika Kuoppala 2014-05-22 13:58:40 UTC
commit 9b0d3481e80670ccc27925a6ada05bb36a665b05
Author: Mika Kuoppala <mika.kuoppala@intel.com>
Date:   Mon May 19 17:42:21 2014 +0300

    tests/drv_hangman: Convert test from shell script to c
Comment 8 liulei 2014-05-26 02:17:29 UTC
Verified on HSW
[root@x-hswu opt]# ./drv_hangman
IGT-Version: 1.6-gff3c122 (x86_64) (Linux: 3.15.0-rc3_drm-intel-next-queued_bc76e3_20140521+ x86_64)
Subtest error-state-debugfs-entry: SUCCESS
Subtest error-state-sysfs-entry: SUCCESS
Subtest ring-stop-sysfs-entry: SUCCESS
Subtest error-state-basic: SUCCESS
Subtest error-state-capture-render: SUCCESS
Subtest error-state-capture-bsd: SUCCESS
Subtest error-state-capture-blt: SUCCESS
Subtest error-state-capture-vebox: SUCCESS
Comment 9 Jari Tahvanainen 2016-10-12 10:39: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.