summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamon Ding <damon.ding@rock-chips.com>2025-11-10 16:58:21 +0800
committerLuca Ceresoli <luca.ceresoli@bootlin.com>2026-03-25 14:05:09 +0100
commite0735bfd5dd1987d4849c331a2ef0194694a3c5f (patch)
tree9d27d66382cc75463e83072f3241debf401dadb3
parentb97a424b09b33cbec216706a84006fae6ed7084d (diff)
downloadlinux-e0735bfd5dd1987d4849c331a2ef0194694a3c5f.tar.gz
linux-e0735bfd5dd1987d4849c331a2ef0194694a3c5f.zip
drm/bridge: analogix_dp: Apply DP helper API drm_dp_clock_recovery_ok()
Use existing DP helper API instead of analogix_dp_clock_recovery_ok() with the same function. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Link: https://patch.msgid.link/20251110085823.1197472-3-damon.ding@rock-chips.com Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
-rw-r--r--drivers/gpu/drm/bridge/analogix/analogix_dp_core.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 1fcdadc2803a..db2f4a0f9a5d 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -297,19 +297,6 @@ static unsigned char analogix_dp_get_lane_status(u8 link_status[2], int lane)
return (link_value >> shift) & 0xf;
}
-static int analogix_dp_clock_recovery_ok(u8 link_status[2], int lane_count)
-{
- int lane;
- u8 lane_status;
-
- for (lane = 0; lane < lane_count; lane++) {
- lane_status = analogix_dp_get_lane_status(link_status, lane);
- if ((lane_status & DP_LANE_CR_DONE) == 0)
- return -EINVAL;
- }
- return 0;
-}
-
static int analogix_dp_channel_eq_ok(u8 link_status[2], u8 link_align,
int lane_count)
{
@@ -394,7 +381,7 @@ static int analogix_dp_process_clock_recovery(struct analogix_dp_device *dp)
if (retval < 0)
return retval;
- if (analogix_dp_clock_recovery_ok(link_status, lane_count) == 0) {
+ if (drm_dp_clock_recovery_ok(link_status, lane_count)) {
/* set training pattern 2 for EQ */
analogix_dp_set_training_pattern(dp, TRAINING_PTN2);
@@ -460,7 +447,7 @@ static int analogix_dp_process_equalizer_training(struct analogix_dp_device *dp)
if (retval < 0)
return retval;
- if (analogix_dp_clock_recovery_ok(link_status, lane_count)) {
+ if (!drm_dp_clock_recovery_ok(link_status, lane_count)) {
analogix_dp_reduce_link_rate(dp);
return -EIO;
}
@@ -664,8 +651,7 @@ static int analogix_dp_fast_link_train(struct analogix_dp_device *dp)
return ret;
}
- if (analogix_dp_clock_recovery_ok(link_status,
- dp->link_train.lane_count)) {
+ if (!drm_dp_clock_recovery_ok(link_status, dp->link_train.lane_count)) {
DRM_DEV_ERROR(dp->dev, "Clock recovery failed\n");
analogix_dp_reduce_link_rate(dp);
return -EIO;