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

Commit 20a606c1 authored by Yuan Zhao's avatar Yuan Zhao Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: hdmi: clear deep color bits in the HDMI controller



Clear the deep color bits in the HDMI controller in case
the mode does not need OR support deep color.

Change-Id: I77a5cd74bc90c249d8902437a7b87a07259a2c35
Signed-off-by: default avatarYuan Zhao <yzhao@codeaurora.org>
parent d33ed6b2
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
/* Copyright (c) 2010-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -632,6 +632,19 @@ static int hdmi_panel_setup_dc(struct hdmi_panel *panel)
		vbi_pkt_reg = DSS_REG_R(panel->io, HDMI_VBI_PKT_CTRL);
		vbi_pkt_reg |= BIT(5) | BIT(4);
		DSS_REG_W(panel->io, HDMI_VBI_PKT_CTRL, vbi_pkt_reg);
	} else {
		hdmi_ctrl_reg = DSS_REG_R(panel->io, HDMI_CTRL);

		/* disable GC CD override */
		hdmi_ctrl_reg &= ~BIT(27);
		/* disable deep color for RGB888/YUV444/YUV420 30 bits */
		hdmi_ctrl_reg &= ~BIT(24);
		DSS_REG_W(panel->io, HDMI_CTRL, hdmi_ctrl_reg);

		/* disable the GC packet sending */
		vbi_pkt_reg = DSS_REG_R(panel->io, HDMI_VBI_PKT_CTRL);
		vbi_pkt_reg &= ~(BIT(5) | BIT(4));
		DSS_REG_W(panel->io, HDMI_VBI_PKT_CTRL, vbi_pkt_reg);
	}

	return rc;