diff options
Diffstat (limited to 'drivers/gpu/drm/msm/dsi/dsi_host.c')
| -rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi_host.c | 14 | 
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index c8823e4115ea..078462b74b57 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -122,6 +122,7 @@ struct msm_dsi_host {  	struct clk *byte_intf_clk;  	unsigned long byte_clk_rate; +	unsigned long byte_intf_clk_rate;  	unsigned long pixel_clk_rate;  	unsigned long esc_clk_rate; @@ -398,7 +399,6 @@ int msm_dsi_runtime_resume(struct device *dev)  int dsi_link_clk_set_rate_6g(struct msm_dsi_host *msm_host)  { -	unsigned long byte_intf_rate;  	int ret;  	DBG("Set clk rates: pclk=%d, byteclk=%lu", @@ -418,13 +418,7 @@ int dsi_link_clk_set_rate_6g(struct msm_dsi_host *msm_host)  	}  	if (msm_host->byte_intf_clk) { -		/* For CPHY, byte_intf_clk is same as byte_clk */ -		if (msm_host->cphy_mode) -			byte_intf_rate = msm_host->byte_clk_rate; -		else -			byte_intf_rate = msm_host->byte_clk_rate / 2; - -		ret = clk_set_rate(msm_host->byte_intf_clk, byte_intf_rate); +		ret = clk_set_rate(msm_host->byte_intf_clk, msm_host->byte_intf_clk_rate);  		if (ret) {  			pr_err("%s: Failed to set rate byte intf clk, %d\n",  			       __func__, ret); @@ -2393,6 +2387,10 @@ int msm_dsi_host_power_on(struct mipi_dsi_host *host,  		goto unlock_ret;  	} +	msm_host->byte_intf_clk_rate = msm_host->byte_clk_rate; +	if (phy_shared_timings->byte_intf_clk_div_2) +		msm_host->byte_intf_clk_rate /= 2; +  	msm_dsi_sfpb_config(msm_host, true);  	ret = regulator_bulk_enable(msm_host->cfg_hnd->cfg->num_regulators,  | 
