diff --git a/drivers/gpu/drm/rockchip/dw-dp.c b/drivers/gpu/drm/rockchip/dw-dp.c index 05b1096d7e15..07140706ec00 100644 --- a/drivers/gpu/drm/rockchip/dw-dp.c +++ b/drivers/gpu/drm/rockchip/dw-dp.c @@ -1427,6 +1427,7 @@ static int dw_dp_connector_atomic_check(struct drm_connector *conn, struct dw_dp_state *dp_old_state, *dp_new_state; struct drm_crtc_state *crtc_state; struct dw_dp *dp = connector_to_dp(conn); + int ret; old_state = drm_atomic_get_old_connector_state(state, conn); new_state = drm_atomic_get_new_connector_state(state, conn); @@ -1463,6 +1464,12 @@ static int dw_dp_connector_atomic_check(struct drm_connector *conn, crtc_state->mode_changed = true; } + if (dp->mst_mgr.cbs) { + ret = drm_dp_mst_root_conn_atomic_check(new_state, &dp->mst_mgr); + if (ret) + return ret; + } + return 0; }