[PATCH 14/38][SRU][G/H] drm/i915: Fix DP_TRAIN_MAX_{PRE_EMPHASIS, SWING}_REACHED handling
You-Sheng Yang
vicamo.yang at canonical.com
Tue Nov 24 10:42:49 UTC 2020
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
BugLink: https://bugs.launchpad.net/bugs/1903969
The DP spec says:
"The transmitter shall support at least three levels of voltage
swing (Levels 0, 1, and 2).
If only three levels of voltage swing are supported (VOLTAGE
SWING SET field (bits 1:0) are programmed to 10 (Level 2)),
this bit shall be set to 1, and cleared in all other cases.
If all four levels of voltage swing are supported (VOLTAGE
SWING SET field (bits 1:0) are programmed to 11 (Level 3)),
this bit shall be set to 1,and cleared in all other cases."
Let's follow that exactly instead of the current apporach
where we can set those also for vswing/preemph levels 0 or 1
(or 2 when the platform max is 3).
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200512174145.3186-7-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak at intel.com>
(cherry picked from commit 3625a1f5bf6ba47fbd903be1d63dade9a48e8e72)
Signed-off-by: You-Sheng Yang <vicamo.yang at canonical.com>
---
drivers/gpu/drm/i915/display/intel_dp_link_training.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index b9e4ee2dbddc..2493142a70e9 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -67,8 +67,9 @@ void intel_dp_get_adjust_train(struct intel_dp *intel_dp,
if (p >= preemph_max)
p = preemph_max | DP_TRAIN_MAX_PRE_EMPHASIS_REACHED;
- voltage_max = min(intel_dp->voltage_max(intel_dp),
- dp_voltage_max(p));
+ v = min(v, dp_voltage_max(p));
+
+ voltage_max = intel_dp->voltage_max(intel_dp);
if (v >= voltage_max)
v = voltage_max | DP_TRAIN_MAX_SWING_REACHED;
--
2.29.2
More information about the kernel-team
mailing list