diff options
| author | 2020-02-06 14:26:15 +0530 | |
|---|---|---|
| committer | 2020-02-13 13:49:20 -0800 | |
| commit | a1028dcfd0dd97884072288d0c8ed7f30399b528 (patch) | |
| tree | a6b3b9be2bea7d5ac2303acc39e40469511ec452 /drivers/gpu/drm/msm/dsi/dsi_manager.c | |
| parent | drm/msm: Fix a6xx GMU shutdown sequence (diff) | |
| download | wireguard-linux-a1028dcfd0dd97884072288d0c8ed7f30399b528.tar.xz wireguard-linux-a1028dcfd0dd97884072288d0c8ed7f30399b528.zip | |
drm/msm/dsi: save pll state before dsi host is powered off
Save pll state before dsi host is powered off. Without this change
some register values gets resetted.
Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/dsi/dsi_manager.c')
| -rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi_manager.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c index acc711fd14f8..4864b9558f65 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c @@ -506,6 +506,7 @@ static void dsi_mgr_bridge_post_disable(struct drm_bridge *bridge) struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1); struct mipi_dsi_host *host = msm_dsi->host; struct drm_panel *panel = msm_dsi->panel; + struct msm_dsi_pll *src_pll; bool is_dual_dsi = IS_DUAL_DSI(); int ret; @@ -539,6 +540,10 @@ static void dsi_mgr_bridge_post_disable(struct drm_bridge *bridge) id, ret); } + /* Save PLL status if it is a clock source */ + src_pll = msm_dsi_phy_get_pll(msm_dsi->phy); + msm_dsi_pll_save_state(src_pll); + ret = msm_dsi_host_power_off(host); if (ret) pr_err("%s: host %d power off failed,%d\n", __func__, id, ret); |
