From 701d4bb8ff94dc53a99b4c5fee3ae17f1f55bb50 Mon Sep 17 00:00:00 2001 From: Guochun Huang Date: Tue, 30 Mar 2021 17:29:41 +0800 Subject: [PATCH] drm/rockchip: dsi: set vop2 standby before command mode in rk356x Signed-off-by: Guochun Huang Change-Id: I59c84b3eaeb5eb7be30878bbca196e3774f1e54b --- drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c index 0cd46b627449..bf0c4c8986c5 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c @@ -1094,10 +1094,17 @@ static void dw_mipi_dsi_encoder_disable(struct drm_encoder *encoder) if (dsi->panel) drm_panel_disable(dsi->panel); + + if (dsi->pdata->soc_type == RK3568) + vop2_standby(encoder->crtc, 1); + dw_mipi_dsi_disable(dsi); if (dsi->panel) drm_panel_unprepare(dsi->panel); dw_mipi_dsi_post_disable(dsi); + + if (dsi->pdata->soc_type == RK3568) + vop2_standby(encoder->crtc, 0); } static void dw_mipi_dsi_vop_routing(struct dw_mipi_dsi *dsi) @@ -1331,10 +1338,18 @@ static void dw_mipi_dsi_encoder_enable(struct drm_encoder *encoder) dsi->lane_mbps, dsi->slave ? dsi->lanes * 2 : dsi->lanes); dw_mipi_dsi_vop_routing(dsi); + + if (dsi->pdata->soc_type == RK3568) + vop2_standby(encoder->crtc, 1); + dw_mipi_dsi_pre_enable(dsi); if (dsi->panel) drm_panel_prepare(dsi->panel); dw_mipi_dsi_enable(dsi); + + if (dsi->pdata->soc_type == RK3568) + vop2_standby(encoder->crtc, 0); + if (dsi->panel) drm_panel_enable(dsi->panel); }