From 998dec67d8d777b83b742f03c09081f731178088 Mon Sep 17 00:00:00 2001 From: Ritesh Kumar Date: Thu, 7 May 2020 18:59:54 +0530 Subject: [PATCH] disp: msm: dsi: Skip soft reset during display disable As per DSI HPG, Soft reset is not required to disable video mode operation for version 1.3.0 and later. So, add check to skip it during display disable. Change-Id: If6d263bdf22f8a6fbef76d78d04bb9d11be05945 Signed-off-by: Ritesh Kumar Signed-off-by: Steve Cohen --- msm/dsi/dsi_ctrl.c | 2 +- msm/dsi/dsi_ctrl_hw.h | 2 ++ msm/dsi/dsi_ctrl_hw_cmn.c | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/msm/dsi/dsi_ctrl.c b/msm/dsi/dsi_ctrl.c index a3e568889ef8..91a41da3fa14 100644 --- a/msm/dsi/dsi_ctrl.c +++ b/msm/dsi/dsi_ctrl.c @@ -3675,7 +3675,7 @@ int dsi_ctrl_set_vid_engine_state(struct dsi_ctrl *dsi_ctrl, dsi_ctrl->hw.ops.video_engine_en(&dsi_ctrl->hw, on); /* perform a reset when turning off video engine */ - if (!on) + if (!on && dsi_ctrl->version < DSI_CTRL_VERSION_1_3) dsi_ctrl->hw.ops.soft_reset(&dsi_ctrl->hw); } diff --git a/msm/dsi/dsi_ctrl_hw.h b/msm/dsi/dsi_ctrl_hw.h index a8fd28613e0c..dd1c85a7f8e2 100644 --- a/msm/dsi/dsi_ctrl_hw.h +++ b/msm/dsi/dsi_ctrl_hw.h @@ -31,6 +31,7 @@ /** * enum dsi_ctrl_version - version of the dsi host controller * @DSI_CTRL_VERSION_UNKNOWN: Unknown controller version + * @DSI_CTRL_VERSION_1_3: DSI host v1.3 controller * @DSI_CTRL_VERSION_1_4: DSI host v1.4 controller * @DSI_CTRL_VERSION_2_0: DSI host v2.0 controller * @DSI_CTRL_VERSION_2_2: DSI host v2.2 controller @@ -41,6 +42,7 @@ */ enum dsi_ctrl_version { DSI_CTRL_VERSION_UNKNOWN, + DSI_CTRL_VERSION_1_3, DSI_CTRL_VERSION_1_4, DSI_CTRL_VERSION_2_0, DSI_CTRL_VERSION_2_2, diff --git a/msm/dsi/dsi_ctrl_hw_cmn.c b/msm/dsi/dsi_ctrl_hw_cmn.c index 40b7a031aa9f..0b4d18b32b5b 100644 --- a/msm/dsi/dsi_ctrl_hw_cmn.c +++ b/msm/dsi/dsi_ctrl_hw_cmn.c @@ -199,6 +199,7 @@ void dsi_ctrl_hw_cmn_soft_reset(struct dsi_ctrl_hw *ctrl) DSI_W32(ctrl, DSI_CTRL, reg_ctrl); wmb(); /* make sure DSI controller is enabled again */ DSI_CTRL_HW_DBG(ctrl, "ctrl soft reset done\n"); + SDE_EVT32(ctrl->index); } /**