drm/msm/dsi: save pll state before dsi host is powered off
PATCH 1/1 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.
---
Changes in v1:
- Saving pll state before dsi host is powered off.
- Removed calling of save state in post_disable since everything would be resetted and it would save only resetted values.
drivers/gpu/drm/msm/dsi/dsi_manager.c | 5 +++++ drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-)
drivers/gpu/drm/msm/dsi/dsi_manager.c +5 -0
@@ -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);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c +0 -4
@@ -724,10 +724,6 @@ void msm_dsi_phy_disable(struct msm_dsi_phy *phy)if (!phy || !phy->cfg->ops.disable)return ; -/* Save PLL status if it is a clock source */ -if (phy->usecase !=MSM_DSI_PHY_SLAVE ) -msm_dsi_pll_save_state (phy->pll); - phy->cfg->ops.disable (phy);dsi_phy_regulator_disable (phy);
Signature · 1 line
2.7.4
Quoted 3 lines · Harigovindan P
Save pll state before dsi host is powered off. Without this change some register values gets resetted.
The phy driver already does this. Why is the current implementation insufficient?
Quoted 8 lines
Signed-off-by Harigovindan P <[email protected]>---
Changes in v1:
- Saving pll state before dsi host is powered off.
- Removed calling of save state inpost_disablesince everything would be resetted and it would save only resetted values.
Removed from post_disable? Thats not what I see in the change since you are adding code to dsi_mgr_bridge_post_disable()