drm/bridge: anx6345: Switch to common helpers to power up/down dp link
authorAndy Yan <andy.yan@rock-chips.com>
Tue, 18 Mar 2025 06:34:37 +0000 (14:34 +0800)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Wed, 2 Apr 2025 14:41:27 +0000 (17:41 +0300)
Use the common dp link power up/down helpers to avoid duplicating code.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250318063452.4983-3-andyshrk@163.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c

index a88a33eb5d972cb47e82cfccde87ecf43d051637..f2bafa6cf77956ecafc87aae3a2b6890bdb36cfa 100644 (file)
@@ -143,35 +143,7 @@ static int anx6345_dp_link_training(struct anx6345 *anx6345)
        if (err)
                return err;
 
-       /*
-        * Power up the sink (DP_SET_POWER register is only available on DPCD
-        * v1.1 and later).
-        */
-       if (anx6345->dpcd[DP_DPCD_REV] >= 0x11) {
-               err = drm_dp_dpcd_readb(&anx6345->aux, DP_SET_POWER, &dpcd[0]);
-               if (err < 0) {
-                       DRM_ERROR("Failed to read DP_SET_POWER register: %d\n",
-                                 err);
-                       return err;
-               }
-
-               dpcd[0] &= ~DP_SET_POWER_MASK;
-               dpcd[0] |= DP_SET_POWER_D0;
-
-               err = drm_dp_dpcd_writeb(&anx6345->aux, DP_SET_POWER, dpcd[0]);
-               if (err < 0) {
-                       DRM_ERROR("Failed to power up DisplayPort link: %d\n",
-                                 err);
-                       return err;
-               }
-
-               /*
-                * According to the DP 1.1 specification, a "Sink Device must
-                * exit the power saving state within 1 ms" (Section 2.5.3.1,
-                * Table 5-52, "Sink Control Field" (register 0x600).
-                */
-               usleep_range(1000, 2000);
-       }
+       drm_dp_link_power_up(&anx6345->aux, anx6345->dpcd[DP_DPCD_REV]);
 
        /* Possibly enable downspread on the sink */
        err = regmap_write(anx6345->map[I2C_IDX_DPTX],