Bug 93802

Summary: [IVB bisected] switching to tty1 causes fifo underrun on pipe B and pipe C
Product: DRI Reporter: Chris Bainbridge <chris.bainbridge>
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: normal    
Priority: medium CC: frederik.schwan, intel-gfx-bugs, iskatu, tomxtobin
Version: DRI gitKeywords: bisected, regression
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: IVB i915 features: display/watermark
Attachments:
Description Flags
dmesg with drm.debug none

Description Chris Bainbridge 2016-01-20 20:48:09 UTC
Created attachment 121163 [details]
dmesg with drm.debug

Reproduce: Connect 3 displays, boot to Xorg, press ctrl-alt-f1
Result: fifo underrun, both displays power off

dmesg:

[    9.755511] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe B
[    9.755513] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe C
[    9.755519] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder B
[    9.755523] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder C
[    9.761398] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe B
[    9.761400] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe C
[    9.761407] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder B
[    9.761411] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder C
[    9.774117] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe C
[    9.774125] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder C


bisect result (commit was merged in to the Linus tree 3 days ago in 984065055e6e):


92826fcdfc147a7d16766e987c12a9dfe1860c3f is the first bad commit
commit 92826fcdfc147a7d16766e987c12a9dfe1860c3f
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Thu Dec 3 13:49:13 2015 +0100

    drm/i915: Calculate watermark related members in the crtc_state, v4.
    
    This removes pre/post_wm_update from intel_crtc->atomic, and
    creates atomic state for it in intel_crtc.
    
    Changes since v1:
    - Rebase on top of wm changes.
    Changes since v2:
    - Split disable_cxsr into a separate patch.
    Changes since v3:
    - Move some of the changes to intel_wm_need_update.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/56603A49.5000507@linux.intel.com
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

:040000 040000 b97b4b2338e1da2ee9e93791154b4deb2ecaf8b6 ae91735a668b6785e55122c646dbca93b54eb8c9 M	drivers
Comment 1 Chris Bainbridge 2016-01-26 11:36:42 UTC
Shutdown log shows all pipes overflow when Xorg exits:


[ 1015.463379] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A
[ 1015.463386] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun
[ 1015.463400] [drm:intel_set_pch_fifo_underrun_reporting] *ERROR* uncleared pch fifo underrun on pch transcoder A
[ 1015.463403] [drm:intel_pch_fifo_underrun_irq_handler] *ERROR* PCH transcoder A FIFO underrun
[ 1015.572966] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe B
[ 1015.572967] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe C
[ 1015.572970] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder B
[ 1015.572973] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder C
[ 1015.582403] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe B
[ 1015.582405] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe C
[ 1015.582411] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder B
[ 1015.582415] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder C
[ 1015.593548] [drm:intel_check_cpu_fifo_underruns] *ERROR* fifo underrun on pipe C
[ 1015.593553] [drm:intel_check_pch_fifo_underruns] *ERROR* pch fifo underrun on pch transcoder C
Comment 3 Chris Bainbridge 2016-01-26 12:15:33 UTC
No change with those patches - switching to tty1 still results in the same error. I just noticed pipe A underruns in the original dmesg, but that monitor did not go to standby (monitors are same model).
Comment 4 frederik 2016-02-20 21:20:40 UTC
Same Problem here.
First occured after upgrade to 4.4 and still exists in 4.5rc4.
Comment 5 Jani Saarinen 2016-12-09 11:13:38 UTC
Is this issue still seen with latest kernel?
Comment 6 Chris Bainbridge 2016-12-13 00:16:35 UTC
I don't see this any more with 4.9.0
Comment 7 yann 2016-12-13 06:53:10 UTC
(In reply to Chris Bainbridge from comment #6)
> I don't see this any more with 4.9.0

Thanks Chris for your feedback. Closing as 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.