[Bug 70117] New: [ivb cpu edp] clock recovery fails with too many full/voltage retries, channel equalization succeeds
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Oct 4 02:27:20 PDT 2013
https://bugs.freedesktop.org/show_bug.cgi?id=70117
Priority: medium
Bug ID: 70117
CC: intel-gfx-bugs at lists.freedesktop.org
Assignee: intel-gfx-bugs at lists.freedesktop.org
Summary: [ivb cpu edp] clock recovery fails with too many
full/voltage retries, channel equalization succeeds
QA Contact: intel-gfx-bugs at lists.freedesktop.org
Severity: normal
Classification: Unclassified
OS: All
Reporter: jani.nikula at intel.com
Hardware: Other
Status: NEW
Version: unspecified
Component: DRM/Intel
Product: DRI
There are a number of IVB cpu eDP machines (such as Dell XPS 13, Asus TX300,
Asus UX32VD, others) out there that fail the clock recovery phase of DP link
training with "too many full/voltage retries, give up", but (as we ignore the
error) pass the link training in the channel equalization phase.
There are plenty of dmesg logs exhibiting the behaviour attached to [1], [2]. A
typical example snippet below.
[ 2.924336] [drm:ironlake_edp_panel_vdd_on], Turn eDP VDD on
[ 2.924341] [drm:ironlake_wait_panel_power_cycle], Wait for panel power
cycle
[ 2.924347] [drm:ironlake_wait_panel_status], mask b800000f value 00000000
status 00000000 control abcd0000
[ 2.924355] [drm:ironlake_edp_panel_vdd_on], PP_STATUS: 0x00000000
PP_CONTROL: 0xabcd0008
[ 2.924358] [drm:ironlake_edp_panel_vdd_on], eDP was not running
[ 3.128336] [drm:intel_dp_set_signal_levels], Using signal levels 09000000
[ 3.128969] [drm:intel_dp_set_signal_levels], Using signal levels 0c000000
[ 3.129598] [drm:intel_dp_set_signal_levels], Using signal levels 0e000000
[ 3.130225] [drm:intel_dp_set_signal_levels], Using signal levels 09000000
[ 3.130849] [drm:intel_dp_set_signal_levels], Using signal levels 0e000000
[ 3.131478] [drm:intel_dp_set_signal_levels], Using signal levels 09000000
[ 3.132104] [drm:intel_dp_set_signal_levels], Using signal levels 0e000000
[ 3.132726] [drm:intel_dp_set_signal_levels], Using signal levels 09000000
[ 3.133349] [drm:intel_dp_set_signal_levels], Using signal levels 0e000000
[ 3.133971] [drm:intel_dp_set_signal_levels], Using signal levels 09000000
[ 3.134595] [drm:intel_dp_set_signal_levels], Using signal levels 0e000000
[ 3.135223] [drm:intel_dp_start_link_train], too many full retries, give up
[ 3.135225] [drm:ironlake_edp_panel_on], Turn eDP power on
[ 3.135228] [drm:ironlake_wait_panel_power_cycle], Wait for panel power
cycle
[ 3.135234] [drm:ironlake_wait_panel_status], mask b800000f value 00000000
status 00000000 control abcd0008
[ 3.135239] [drm:ironlake_wait_panel_on], Wait for panel power on
[ 3.135243] [drm:ironlake_wait_panel_status], mask b000000f value 80000008
status 0000000a control abcd000b
[ 3.348075] [drm:ironlake_edp_panel_vdd_off], Turn eDP VDD off 1
[ 3.348083] [drm:ironlake_panel_vdd_off_sync], PP_STATUS: 0xabcd000b
PP_CONTROL: 0x80000008
[ 3.368420] [drm:intel_enable_rc6], RC6 and deep RC6 enabled
[ 3.368421] [drm] Enabling RC6 states: RC6 on, RC6p on, RC6pp off
[ 3.381445] [drm:gen6_enable_rps], Overclocking supported. Max: 1200MHz,
Overclock max: 1200MHz
[ 3.401461] [drm:intel_dp_set_signal_levels], Using signal levels 0e000000
[ 3.402398] [drm:intel_dp_complete_link_train], Channel EQ done. DP Training
successful
This patch fixes the issue, and clock recovery passes at first attempt, but I
don't think this is entirely correct:
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1b74275..71f6ae4 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1800,9 +1800,9 @@ static void intel_enable_dp(struct intel_encoder
*encoder)
ironlake_edp_panel_vdd_on(intel_dp);
intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
- intel_dp_start_link_train(intel_dp);
ironlake_edp_panel_on(intel_dp);
ironlake_edp_panel_vdd_off(intel_dp, true);
+ intel_dp_start_link_train(intel_dp);
intel_dp_complete_link_train(intel_dp);
intel_dp_stop_link_train(intel_dp);
}
We need to verify our VDD force handling respects power sequencing.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=59841
[2] https://bugs.freedesktop.org/show_bug.cgi?id=64880
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20131004/7addc30b/attachment-0001.html>
More information about the intel-gfx-bugs
mailing list