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

Commit 92d9690e authored by Naseer Ahmed's avatar Naseer Ahmed Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: Reset compression config after dynamic DSC off



When dynamically switching modes from DSC on to off, the
compression mode control register should be set to 0 to
avoid corruption on the output.

Change-Id: Id4387063b767bf0f307c13831b9c6ecc31c20650
Signed-off-by: default avatarNaseer Ahmed <naseer@codeaurora.org>
parent 202aa1fb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -407,7 +407,7 @@ struct mdss_dsi_ctrl_pdata {
	int (*cmdlist_commit)(struct mdss_dsi_ctrl_pdata *ctrl, int from_mdp);
	void (*switch_mode)(struct mdss_panel_data *pdata, int mode);
	struct mdss_panel_data panel_data;
	unsigned char *ctrl_base;
	unsigned char __iomem *ctrl_base;
	struct mdss_io_data ctrl_io;
	struct mdss_io_data mmss_misc_io;
	struct mdss_io_data phy_io;
+10 −2
Original line number Diff line number Diff line
@@ -1244,6 +1244,15 @@ void mdss_dsi_dsc_config(struct mdss_dsi_ctrl_pdata *ctrl, struct dsc_desc *dsc)
{
	u32 data, offset;

	if (!dsc) {
		if (ctrl->panel_mode == DSI_VIDEO_MODE)
			offset = MDSS_DSI_VIDEO_COMPRESSION_MODE_CTRL;
		else
			offset = MDSS_DSI_COMMAND_COMPRESSION_MODE_CTRL;
		MIPI_OUTP((ctrl->ctrl_base) + offset, 0);
		return;
	}

	if (dsc->pkt_per_line <= 0) {
		pr_err("%s: Error: pkt_per_line cannot be negative or 0\n",
			__func__);
@@ -1432,7 +1441,6 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata)
		MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x5C, stream_total);
	}

	if (dsc)	/* compressed */
	mdss_dsi_dsc_config(ctrl_pdata, dsc);
}