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

Commit 875ebce7 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: do not enable the iommu until splash is done"

parents 33435fe4 5d514a26
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -1815,6 +1815,9 @@ int mdp3_iommu_ctrl(int enable)
{
	int rc;

	if (mdp3_res->allow_iommu_update == false)
		return 0;

	if (enable)
		rc = mdp3_iommu_enable();
	else
@@ -2157,10 +2160,22 @@ static int mdp3_panel_register_done(struct mdss_panel_data *pdata)
	 * continue splash screen. This would have happened in
	 * res_update in continuous_splash_on without this flag.
	 */
	if (pdata->panel_info.cont_splash_enabled == false)
		mdp3_res->allow_iommu_update = true;

	return rc;
}

int mdp3_splash_done(struct mdss_panel_info *panel_info)
{
	if (panel_info->cont_splash_enabled) {
		pr_err("continuous splash is on and splash done called\n");
		return -EINVAL;
	}
	mdp3_res->allow_iommu_update = true;
	return 0;
}

static int mdp3_debug_dump_stats_show(struct seq_file *s, void *v)
{
	struct mdp3_hw_resource *res = (struct mdp3_hw_resource *)s->private;
+1 −0
Original line number Diff line number Diff line
@@ -228,6 +228,7 @@ void mdp3_check_dsi_ctrl_status(struct work_struct *work,
int mdp3_dynamic_clock_gating_ctrl(int enable);
int mdp3_footswitch_ctrl(int enable);
int mdp3_qos_remapper_setup(struct mdss_panel_data *panel);
int mdp3_splash_done(struct mdss_panel_info *panel_info);

#define MDP3_REG_WRITE(addr, val) writel_relaxed(val, mdp3_res->mdp_base + addr)
#define MDP3_REG_READ(addr) readl_relaxed(mdp3_res->mdp_base + addr)
+2 −1
Original line number Diff line number Diff line
@@ -812,6 +812,7 @@ static int mdp3_ctrl_off(struct msm_fb_data_type *mfd)
		/* Wait for TG to turn off */
		msleep(20);
		mfd->panel_info->cont_splash_enabled = 0;
		mdp3_splash_done(mfd->panel_info);
	}

	if (panel->event_handler)
@@ -913,7 +914,7 @@ static int mdp3_ctrl_reset(struct msm_fb_data_type *mfd)
	mdp3_session->first_commit = true;
	mfd->panel_info->cont_splash_enabled = 0;
	mdp3_session->in_splash_screen = 0;

	mdp3_splash_done(mfd->panel_info);
reset_error:
	mutex_unlock(&mdp3_session->lock);
	return rc;