|
@@ -848,24 +848,16 @@ static void dw_mipi_dsi_encoder_disable(struct drm_encoder *encoder)
|
|
|
{
|
|
|
struct dw_mipi_dsi *dsi = encoder_to_dsi(encoder);
|
|
|
|
|
|
- drm_panel_disable(dsi->panel);
|
|
|
-
|
|
|
if (clk_prepare_enable(dsi->pclk)) {
|
|
|
dev_err(dsi->dev, "%s: Failed to enable pclk\n", __func__);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ drm_panel_disable(dsi->panel);
|
|
|
+
|
|
|
dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_CMD_MODE);
|
|
|
drm_panel_unprepare(dsi->panel);
|
|
|
- dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_VID_MODE);
|
|
|
|
|
|
- /*
|
|
|
- * This is necessary to make sure the peripheral will be driven
|
|
|
- * normally when the display is enabled again later.
|
|
|
- */
|
|
|
- msleep(120);
|
|
|
-
|
|
|
- dw_mipi_dsi_set_mode(dsi, DW_MIPI_DSI_CMD_MODE);
|
|
|
dw_mipi_dsi_disable(dsi);
|
|
|
clk_disable_unprepare(dsi->pclk);
|
|
|
}
|