From b314c3296f471b1069161e3e8351be752b082366 Mon Sep 17 00:00:00 2001 From: Guochun Huang Date: Thu, 29 Sep 2022 09:46:18 +0000 Subject: [PATCH] drm/rockchip: logo: call bridge mode_set helper in rockchip_drm_show_logo drm_bridge require a display mode which pass through by calling mode_set hooks, but mode_set only be called after setting mode_changed flags, so call bridge->funcs->mode_set once in advance during kernel logo which will not setting mode_changed flags. Signed-off-by: Guochun Huang Change-Id: I81a9c0f05f42dd68a376b669af823c6130462df3 --- drivers/gpu/drm/rockchip/rockchip_drm_logo.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_logo.c b/drivers/gpu/drm/rockchip/rockchip_drm_logo.c index d0fcbb5c47a4..e50453ebae8d 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_logo.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_logo.c @@ -836,6 +836,7 @@ static int update_state(struct drm_device *drm_dev, const struct drm_encoder_helper_funcs *encoder_helper_funcs; const struct drm_connector_helper_funcs *connector_helper_funcs; struct drm_encoder *encoder; + struct drm_bridge *bridge; connector_helper_funcs = connector->helper_private; if (!connector_helper_funcs) @@ -860,6 +861,9 @@ static int update_state(struct drm_device *drm_dev, conn_state); else if (encoder_helper_funcs->mode_set) encoder_helper_funcs->mode_set(encoder, mode, mode); + + bridge = drm_bridge_chain_get_first_bridge(encoder); + drm_bridge_chain_mode_set(bridge, mode, mode); } primary_state = drm_atomic_get_plane_state(state, crtc->primary);