diff --git a/drivers/gpu/drm/rockchip/dw-dp.c b/drivers/gpu/drm/rockchip/dw-dp.c index 2434cb49a0d3..5dc687bfcf67 100644 --- a/drivers/gpu/drm/rockchip/dw-dp.c +++ b/drivers/gpu/drm/rockchip/dw-dp.c @@ -2931,8 +2931,8 @@ static void dw_dp_encoder_atomic_disable(struct drm_encoder *encoder, struct drm_crtc *old_crtc, *new_crtc; struct rockchip_crtc_state *s; - old_crtc = rockchip_drm_encoder_get_old_crtc(encoder, state); - new_crtc = rockchip_drm_encoder_get_new_crtc(encoder, state); + old_crtc = drm_atomic_get_old_crtc_for_encoder(state, encoder); + new_crtc = drm_atomic_get_new_crtc_for_encoder(state, encoder); if (old_crtc && old_crtc != new_crtc) { s = to_rockchip_crtc_state(old_crtc->state); diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index 640c998efff6..7b14cb59b1b1 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -1945,8 +1945,8 @@ static void dw_hdmi_rockchip_encoder_atomic_disable(struct drm_encoder *encoder, struct drm_crtc *old_crtc, *new_crtc; struct rockchip_crtc_state *s; - old_crtc = rockchip_drm_encoder_get_old_crtc(encoder, state); - new_crtc = rockchip_drm_encoder_get_new_crtc(encoder, state); + old_crtc = drm_atomic_get_old_crtc_for_encoder(state, encoder); + new_crtc = drm_atomic_get_new_crtc_for_encoder(state, encoder); if (old_crtc && old_crtc != new_crtc) { s = to_rockchip_crtc_state(old_crtc->state); diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index 544b532c373c..3e58c6db7083 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -473,57 +473,43 @@ void rockchip_drm_te_handle(struct drm_crtc *crtc) } EXPORT_SYMBOL(rockchip_drm_te_handle); -struct drm_crtc *rockchip_drm_encoder_get_old_crtc(struct drm_encoder *encoder, - struct drm_atomic_state *state) +struct drm_crtc * +drm_atomic_get_old_crtc_for_encoder(struct drm_atomic_state *state, + struct drm_encoder *encoder) { - struct drm_device *drm_dev = state->dev; struct drm_connector *connector; - struct drm_connector_list_iter conn_iter; struct drm_connector_state *conn_state; - drm_connector_list_iter_begin(drm_dev, &conn_iter); - drm_for_each_connector_iter(connector, &conn_iter) { - conn_state = drm_atomic_get_old_connector_state(state, connector); - if (!conn_state) - continue; + connector = drm_atomic_get_old_connector_for_encoder(state, encoder); + if (!connector) + return NULL; - if (conn_state->best_encoder != encoder) - continue; + conn_state = drm_atomic_get_old_connector_state(state, connector); + if (!conn_state) + return NULL; - drm_connector_list_iter_end(&conn_iter); - return conn_state->crtc; - } - drm_connector_list_iter_end(&conn_iter); - - return NULL; + return conn_state->crtc; } -EXPORT_SYMBOL(rockchip_drm_encoder_get_old_crtc); +EXPORT_SYMBOL(drm_atomic_get_old_crtc_for_encoder); -struct drm_crtc *rockchip_drm_encoder_get_new_crtc(struct drm_encoder *encoder, - struct drm_atomic_state *state) +struct drm_crtc * +drm_atomic_get_new_crtc_for_encoder(struct drm_atomic_state *state, + struct drm_encoder *encoder) { - struct drm_device *drm_dev = state->dev; struct drm_connector *connector; - struct drm_connector_list_iter conn_iter; struct drm_connector_state *conn_state; - drm_connector_list_iter_begin(drm_dev, &conn_iter); - drm_for_each_connector_iter(connector, &conn_iter) { - conn_state = drm_atomic_get_new_connector_state(state, connector); - if (!conn_state) - continue; + connector = drm_atomic_get_new_connector_for_encoder(state, encoder); + if (!connector) + return NULL; - if (conn_state->best_encoder != encoder) - continue; + conn_state = drm_atomic_get_new_connector_state(state, connector); + if (!conn_state) + return NULL; - drm_connector_list_iter_end(&conn_iter); - return conn_state->crtc; - } - drm_connector_list_iter_end(&conn_iter); - - return NULL; + return conn_state->crtc; } -EXPORT_SYMBOL(rockchip_drm_encoder_get_new_crtc); +EXPORT_SYMBOL(drm_atomic_get_new_crtc_for_encoder); static const struct drm_display_mode rockchip_drm_default_modes[] = { /* 4 - 1280x720@60Hz 16:9 */ diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h index b5376d1a21c5..af0da103648a 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.h @@ -634,10 +634,10 @@ void rockchip_drm_unregister_sub_dev(struct rockchip_drm_sub_dev *sub_dev); struct rockchip_drm_sub_dev *rockchip_drm_get_sub_dev(struct device_node *node); int rockchip_drm_add_modes_noedid(struct drm_connector *connector); void rockchip_drm_te_handle(struct drm_crtc *crtc); -struct drm_crtc *rockchip_drm_encoder_get_old_crtc(struct drm_encoder *encoder, - struct drm_atomic_state *state); -struct drm_crtc *rockchip_drm_encoder_get_new_crtc(struct drm_encoder *encoder, - struct drm_atomic_state *state); +struct drm_crtc *drm_atomic_get_old_crtc_for_encoder(struct drm_atomic_state *state, + struct drm_encoder *encoder); +struct drm_crtc *drm_atomic_get_new_crtc_for_encoder(struct drm_atomic_state *state, + struct drm_encoder *encoder); void drm_mode_convert_to_split_mode(struct drm_display_mode *mode); void drm_mode_convert_to_origin_mode(struct drm_display_mode *mode); const char *rockchip_drm_get_color_encoding_name(enum drm_color_encoding encoding);