Bug 90060

Summary: [BDW Bisected]igt/pm_rpm/debugfs-read causes *ERROR* dpcd read (15 bytes at 0) failed (-110)
Product: DRI Reporter: lu hua <huax.lu>
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: high CC: intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
drm/i915: Don't read dpcd for disconnected ports none

Description lu hua 2015-04-17 02:29:15 UTC
Created attachment 115140 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes

good commit: 2d1070b21e004609a5bebafdb4303bb021f5477c
bad commit: 097f8261ddda4b1896dd335dec95dedeecfeaa1b

Non-working platforms: BDW

==kernel==
--------------------------
drm-intel-nightly/d600654ab94b325f253e267422dcf60302120ea0
commit d600654ab94b325f253e267422dcf60302120ea0
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Apr 16 17:54:10 2015 +0200

    drm-intel-nightly: 2015y-04m-16d-15h-53m-28s UTC integration manifest

==Bug detailed description==
-----------------------------
It sporadically causes <3>[   48.390458] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (15 bytes at 0) failed (-110).

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# time ./pm_rpm --run-subtest debugfs-read
IGT-Version: 1.10-gbeddb3b (x86_64) (Linux: 4.0.0_drm-intel-nightly_d60065_20150417+ x86_64)
Runtime PM support: 1
PC8 residency support: 1
Subtest debugfs-read: SUCCESS (34.806s)

real    0m35.166s
user    0m0.026s
sys     0m0.026s
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r | egrep "<[1-4]>" |grep drm
<3>[   48.390458] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (15 bytes at 0) failed (-110)
<3>[   48.392991] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (2 bytes at 112) failed (-110)
<3>[   48.395522] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (16 bytes at 128) failed (-110)
<3>[   48.398053] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (11 bytes at 256) failed (-110)
<3>[   48.400584] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (8 bytes at 512) failed (-110)
<3>[   48.403114] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (1 bytes at 1536) failed (-110)
<3>[   48.405644] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (1 bytes at 1792) failed (-110)
<3>[   48.408174] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (4 bytes at 1793) failed (-110)
<3>[   48.410704] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (16 bytes at 1824) failed (-110)
<3>[   48.413249] [drm:i915_dpcd_show [i915]] *ERROR* dpcd read (2 bytes at 1842) failed (-110)

==Reproduce steps==
---------------------------- 
1. ./pm_rpm --run-subtest debugfs-read
Comment 1 Mika Kuoppala 2015-04-20 14:26:48 UTC
Created attachment 115225 [details] [review]
drm/i915: Don't read dpcd for disconnected ports
Comment 2 ye.tian 2015-04-21 01:18:53 UTC
Tested it on the latest nightly kernel(b9fe3577) with this patch, this issue does not exists.

output:
---------------
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./pm_rpm --run-subtest debugfs-read
IGT-Version: 1.10-gbeddb3b (x86_64) (Linux: 4.0.0_kcloud_e5aab2_20150421+ x86_64)
Runtime PM support: 1
PC8 residency support: 1
Subtest debugfs-read: SUCCESS (34.147s)
Comment 3 lu hua 2015-05-14 07:49:42 UTC
prts bisected it.
commit aa7471d228eb6dfddd0d201ea9746d6a2020972a
Author:     Jani Nikula <jani.nikula@intel.com>
AuthorDate: Wed Apr 1 11:15:21 2015 +0300
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Tue Apr 7 10:27:28 2015 +0200

    drm/i915: add i915 specific connector debugfs file for DPCD
    
    Occasionally it would be interesting to read some of the DPCD registers
    for debug purposes, without having to resort to logging. Add an i915
    specific i915_dpcd debugfs file for DP and eDP connectors to dump parts
    of the DPCD. Currently the DPCD addresses to be dumped are statically
    configured, and more can be added trivially.
    
    The implementation also makes it relatively easy to add other i915 and
    connector specific debugfs files in the future, as necessary.
    
    This is currently i915 specific just because there's no generic way to
    do AUX transactions given just a drm_connector. However it's all pretty
    straightforward to port to other drivers.
    
    v2: Add more DPCD registers to dump.
    
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 4 Jani Nikula 2015-05-15 10:12:58 UTC
Please try http://patchwork.freedesktop.org/patch/49452
Comment 5 lu hua 2015-05-18 05:57:06 UTC
(In reply to Jani Nikula from comment #4)
> Please try http://patchwork.freedesktop.org/patch/49452

Fixed by this patch.
Comment 6 Jani Nikula 2015-05-18 07:39:05 UTC
Fixed by

commit 3776233636f97b3d99d99b2cb1b90659d467ef9c
Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Date:   Fri May 15 13:09:21 2015 +0300

    drm/i915: Don't read dpcd for disconnected ports

in nightly.
Comment 7 lu hua 2015-05-22 05:34:46 UTC
Verified.Fixed.
Comment 8 Elizabeth 2017-10-06 14:30:30 UTC
Closing old verified.

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.