[PATCH] drm/bridge: dw-dp: Fix the EMPHASIS_SHIFT for dw_dp_voltage_max

Andy Yan posted 1 patch 1 month ago
drivers/gpu/drm/bridge/synopsys/dw-dp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] drm/bridge: dw-dp: Fix the EMPHASIS_SHIFT for dw_dp_voltage_max
Posted by Andy Yan 1 month ago
From: Andy Yan <andy.yan@rock-chips.com>

The p(pre_emphasis) should be left-shifted by DP_TRAIN_PRE_EMPHASIS_SHIFT
to match the logic of dw_dp_voltage_max.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/dri-devel/aLaQLlJC8qMrnDAf@stanley.mountain/T/#u
Fixes: 86eecc3a9c2e ("drm/bridge: synopsys: Add DW DPTX Controller support library")
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 drivers/gpu/drm/bridge/synopsys/dw-dp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-dp.c b/drivers/gpu/drm/bridge/synopsys/dw-dp.c
index 9bbfe8da3de02..e23462b49a4fb 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-dp.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-dp.c
@@ -767,7 +767,7 @@ static bool dw_dp_link_get_adjustments(struct dw_dp_link *link,
 			adj->pre_max_reached[i] = false;
 		}
 
-		v = min(v, dw_dp_voltage_max(p));
+		v = min(v, dw_dp_voltage_max(p << DP_TRAIN_PRE_EMPHASIS_SHIFT));
 		if (v >= (DP_TRAIN_VOLTAGE_SWING_LEVEL_3 >> DP_TRAIN_VOLTAGE_SWING_SHIFT)) {
 			adj->voltage_swing[i] = DP_TRAIN_VOLTAGE_SWING_LEVEL_3 >>
 						DP_TRAIN_VOLTAGE_SWING_SHIFT;
-- 
2.43.0

base-commit: cbcbb361cba5016331b2ba03fc09d755fc7cde38
branch: heads/drm-misc-next-2025-08-28