diff options
| -rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi.h | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi_manager.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 13 | 
3 files changed, 8 insertions, 13 deletions
diff --git a/drivers/gpu/drm/msm/dsi/dsi.h b/drivers/gpu/drm/msm/dsi/dsi.h index 9b8e9b07eced..6ff551d85780 100644 --- a/drivers/gpu/drm/msm/dsi/dsi.h +++ b/drivers/gpu/drm/msm/dsi/dsi.h @@ -164,10 +164,9 @@ struct msm_dsi_phy_clk_request {  void msm_dsi_phy_driver_register(void);  void msm_dsi_phy_driver_unregister(void);  int msm_dsi_phy_enable(struct msm_dsi_phy *phy, -			struct msm_dsi_phy_clk_request *clk_req); +			struct msm_dsi_phy_clk_request *clk_req, +			struct msm_dsi_phy_shared_timings *shared_timings);  void msm_dsi_phy_disable(struct msm_dsi_phy *phy); -void msm_dsi_phy_get_shared_timings(struct msm_dsi_phy *phy, -			struct msm_dsi_phy_shared_timings *shared_timing);  void msm_dsi_phy_set_usecase(struct msm_dsi_phy *phy,  			     enum msm_dsi_phy_usecase uc);  int msm_dsi_phy_get_clk_provider(struct msm_dsi_phy *phy, diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c index 4ebfedc4a9ac..f790a234e99f 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c @@ -123,8 +123,7 @@ static int enable_phy(struct msm_dsi *msm_dsi,  	msm_dsi_host_get_phy_clk_req(msm_dsi->host, &clk_req, is_dual_dsi); -	ret = msm_dsi_phy_enable(msm_dsi->phy, &clk_req); -	msm_dsi_phy_get_shared_timings(msm_dsi->phy, shared_timings); +	ret = msm_dsi_phy_enable(msm_dsi->phy, &clk_req, shared_timings);  	return ret;  } diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c index a99846537b31..265530d6a302 100644 --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c @@ -801,7 +801,8 @@ void __exit msm_dsi_phy_driver_unregister(void)  }  int msm_dsi_phy_enable(struct msm_dsi_phy *phy, -			struct msm_dsi_phy_clk_request *clk_req) +			struct msm_dsi_phy_clk_request *clk_req, +			struct msm_dsi_phy_shared_timings *shared_timings)  {  	struct device *dev = &phy->pdev->dev;  	int ret; @@ -829,6 +830,9 @@ int msm_dsi_phy_enable(struct msm_dsi_phy *phy,  		goto phy_en_fail;  	} +	memcpy(shared_timings, &phy->timing.shared_timings, +	       sizeof(*shared_timings)); +  	/*  	 * Resetting DSI PHY silently changes its PLL registers to reset status,  	 * which will confuse clock driver and result in wrong output rate of @@ -868,13 +872,6 @@ void msm_dsi_phy_disable(struct msm_dsi_phy *phy)  	dsi_phy_disable_resource(phy);  } -void msm_dsi_phy_get_shared_timings(struct msm_dsi_phy *phy, -			struct msm_dsi_phy_shared_timings *shared_timings) -{ -	memcpy(shared_timings, &phy->timing.shared_timings, -	       sizeof(*shared_timings)); -} -  void msm_dsi_phy_set_usecase(struct msm_dsi_phy *phy,  			     enum msm_dsi_phy_usecase uc)  {  |