Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c74ef996 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: only release mdp dsi clock when reset"

parents 0f8fb3e5 c8337cbc
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -626,6 +626,27 @@ void mdp3_clk_unprepare(void)
	mutex_unlock(&mdp3_res->res_mutex);
}

int mdp3_get_mdp_dsi_clk(void)
{
	int rc;

	mutex_lock(&mdp3_res->res_mutex);
	clk_prepare(mdp3_res->clocks[MDP3_CLK_DSI]);
	rc = mdp3_clk_update(MDP3_CLK_DSI, 1);
	mutex_unlock(&mdp3_res->res_mutex);
	return rc;
}

int mdp3_put_mdp_dsi_clk(void)
{
	int rc;
	mutex_lock(&mdp3_res->res_mutex);
	rc = mdp3_clk_update(MDP3_CLK_DSI, 0);
	clk_unprepare(mdp3_res->clocks[MDP3_CLK_DSI]);
	mutex_unlock(&mdp3_res->res_mutex);
	return rc;
}

static int mdp3_irq_setup(void)
{
	int ret;
+2 −0
Original line number Diff line number Diff line
@@ -193,6 +193,8 @@ int mdp3_parse_dt_splash(struct msm_fb_data_type *mfd);
void mdp3_release_splash_memory(void);
int mdp3_create_sysfs_link(struct device *dev);
int mdp3_get_cont_spash_en(void);
int mdp3_get_mdp_dsi_clk(void);
int mdp3_put_mdp_dsi_clk(void);

int mdp3_misr_set(struct mdp_misr *misr_req);
int mdp3_misr_get(struct mdp_misr *misr_resp);
+2 −2
Original line number Diff line number Diff line
@@ -761,7 +761,7 @@ static int mdp3_ctrl_reset(struct msm_fb_data_type *mfd)
	if (rc)
		pr_err("fail to turn off panel\n");

	rc = mdp3_ctrl_res_req_clk(mfd, 0);
	rc = mdp3_put_mdp_dsi_clk();
	if (rc) {
		pr_err("fail to release mdp clocks\n");
		goto reset_error;
@@ -791,7 +791,7 @@ static int mdp3_ctrl_reset(struct msm_fb_data_type *mfd)
		goto reset_error;
	}

	rc = mdp3_ctrl_res_req_clk(mfd, 1);
	rc = mdp3_get_mdp_dsi_clk();
	if (rc) {
		pr_err("fail to turn on mdp clks\n");
		goto reset_error;