Bug 76150 - [IVB/HSW Bisected]igt/kms_cursor_crc kms_plane and kms_pipe_crc_basic timeout
Summary: [IVB/HSW Bisected]igt/kms_cursor_crc kms_plane and kms_pipe_crc_basic timeout
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high major
Assignee: Daniel Vetter
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-14 02:39 UTC by lu hua
Modified: 2017-09-04 10:17 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (103.78 KB, text/plain)
2014-03-14 02:39 UTC, lu hua
no flags Details
dmesg(patch) (127.12 KB, text/plain)
2014-03-24 06:15 UTC, lu hua
no flags Details

Description lu hua 2014-03-14 02:39:14 UTC
Created attachment 95767 [details]
dmesg

System Environment:
--------------------------
Platform: Ivybridge/Haswell
Kernel:  drm-intel-fixes/5c673b60a9b3b23486f4eda75c72e91d31d26a2b

Bug detailed description:
-----------------------------
kms_cursor_crc kms_plane and kms_pipe_crc_basic are timeout on Ivybridge and Haswell with -nightly and -fixes kernel. They work well on -queued kernel.

Bisect shows: 5c673b60a9b3b23486f4eda75c72e91d31d26a2b is the first bad commit
commit 5c673b60a9b3b23486f4eda75c72e91d31d26a2b
Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
AuthorDate: Fri Mar 7 20:34:46 2014 +0100
Commit:     Jani Nikula <jani.nikula@intel.com>
CommitDate: Wed Mar 12 17:20:34 2014 +0200

    drm/i915: Don't enable display error interrupts from the start

    We need to enable interrupt processing before all the modeset
    state is set up. But that means we can fall over when we get a pipe
    underrun. This shouldn't happen as long as the bios works correctly
    but as usual this turns out to be wishful thinking.

    So disable error interrupts at irq install time and rely on the
    re-enabling code in the modeset functions to take care of this.

    Note that due to the SDE interrupt handling race we must
    uncondtionally enable all interrupt sources in SDEIER, hence no need
    to enable the SERR bit specifically.

    On gmch platforms we don't have an explicit enable/mask bit for fifo
    underruns. Fixing this up would require a bit of software tracking,
    hence is material for a separate patch. To make this possible we need
    to switch all gmch platforms to the new pipestat interrupt handling
    scheme Imre implemented for vlv, and then also add a safe form of sw
    state checking to __cpu_fifo_underrun_reporting_enabled a bit.

    v2: Also handle the ilk/snb cpu fifo underrun bits accordingly.
    Spotted by Ville.

    v3: Also handle the south interrupt underrun bits on ibx. Again
    spotted by Ville.

    Reported-by: Rob Clark <robdclark@gmail.com>
    Cc: Rob Clark <robdclark@gmail.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: stable@vger.kernel.org
    Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>


run ./kms_cursor_crc --run-subtest cursor-black-visible-offscreen
output:
IGT-Version: 1.5-g9812768 (x86_64) (Linux: 3.14.0-rc5_drm-intel-fixes_5c673b_20140313+ x86_64)
Comment 1 Daniel Vetter 2014-03-14 06:21:51 UTC
Just stumbled over this myself, but for me hsw seems to still work. Will look a bit into this.
Comment 2 Daniel Vetter 2014-03-23 23:02:45 UTC
Please test this patch:

http://patchwork.freedesktop.org/patch/22716/

It works on my ivb, so please make especially sure it fixes the issue on hsw, too.
Comment 3 lu hua 2014-03-24 06:15:37 UTC
(In reply to comment #2)
> Please test this patch:
> 
> http://patchwork.freedesktop.org/patch/22716/
> 
> It works on my ivb, so please make especially sure it fixes the issue on
> hsw, too.

Test this patch, the timeout issue goes away.
But call trace appears in dmesg.
Comment 4 lu hua 2014-03-24 06:15:59 UTC
Created attachment 96270 [details]
dmesg(patch)
Comment 5 Daniel Vetter 2014-03-24 07:46:14 UTC
The two backtraces are an issue on hsw with the runtime pm. Please file a separate bug and try to find good/bad commits and bisect - I suspect this started poppping up last week when I've merged Paulo's latest pile of patches.
Comment 6 Daniel Vetter 2014-03-24 17:24:35 UTC
commit 15d7959b13afc6528681183f8255a7ec89033677
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Mar 24 00:01:41 2014 +0100

    drm/i915: Fix initial pipe underrun state tracking
Comment 7 lu hua 2014-03-25 07:38:39 UTC
Test on latest -nightly kernel, It works well.
Comment 8 Jari Tahvanainen 2017-09-04 10:17:07 UTC
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.