diff --git a/drivers/gpu/drm/rockchip/dw-dp.c b/drivers/gpu/drm/rockchip/dw-dp.c index 24eb6c1518fd..d5c0564adeb2 100644 --- a/drivers/gpu/drm/rockchip/dw-dp.c +++ b/drivers/gpu/drm/rockchip/dw-dp.c @@ -2047,9 +2047,8 @@ static int dw_dp_bridge_mode_valid(struct drm_bridge *bridge, return MODE_OK; } -static void dw_dp_loader_protect(struct drm_encoder *encoder, bool on) +static void _dw_dp_loader_protect(struct dw_dp *dp, bool on) { - struct dw_dp *dp = encoder_to_dp(encoder); struct dw_dp_link *link = &dp->link; struct drm_connector *conn = &dp->connector; struct drm_display_info *di = &conn->display_info; @@ -2098,6 +2097,15 @@ static void dw_dp_loader_protect(struct drm_encoder *encoder, bool on) } } +static void dw_dp_loader_protect(struct drm_encoder *encoder, bool on) +{ + struct dw_dp *dp = encoder_to_dp(encoder); + + _dw_dp_loader_protect(dp, on); + if (dp->right) + _dw_dp_loader_protect(dp->right, on); +} + static int dw_dp_connector_init(struct dw_dp *dp) { struct drm_connector *connector = &dp->connector;