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

Commit ed1b331e authored by Narender Ankam's avatar Narender Ankam
Browse files

msm: mdss: hdmi: set max tmds clock rate correctly



While parsing HDMI 1.4 VSDB or HDMI Forum VSDB, set
max tmds clock rate only if respective byte is a
non zero value.

Change-Id: I07b51156038c8b8914f6f1fc1527eaad8a99d7a1
Signed-off-by: default avatarNarender Ankam <nankam@codeaurora.org>
parent c5e6e5ce
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -1370,8 +1370,10 @@ static void hdmi_edid_extract_sink_caps(struct hdmi_edid_ctrl *edid_ctrl,
		return;

	/* Max TMDS clock is in  multiples of 5Mhz. */
	if (len >= 7)
	if (len >= 7 && vsd[7]) {
		edid_ctrl->sink_caps.max_pclk_in_hz = vsd[7] * 5000000;
		DEV_DBG("%s: MaxTMDS=%dMHz\n", __func__, (u32)vsd[7] * 5);
	}

	vsd = hdmi_edid_find_hfvsdb(in_buf);

@@ -1384,9 +1386,13 @@ static void hdmi_edid_extract_sink_caps(struct hdmi_edid_ctrl *edid_ctrl,
		 * the sink shall set this filed to 0. The max TMDS support
		 * clock Rate = Max_TMDS_Character_Rates * 5Mhz.
		 */
		if (vsd[5] != 0)
		if (vsd[5] != 0) {
			edid_ctrl->sink_caps.max_pclk_in_hz =
					vsd[5] * 5000000;
			DEV_DBG("%s: HF-VSDB: MaxTMDS=%dMHz\n",
					__func__, (u32)vsd[5] * 5);
		}

		edid_ctrl->sink_caps.scdc_present =
				(vsd[6] & 0x80) ? true : false;
		edid_ctrl->sink_caps.scramble_support =
@@ -1464,9 +1470,6 @@ static u32 hdmi_edid_extract_ieee_reg_id(struct hdmi_edid_ctrl *edid_ctrl,
	DEV_DBG("%s: EDID: VSD PhyAddr=%04x\n", __func__,
		((u32)vsd[4] << 8) + (u32)vsd[5]);

	if (len >= 7)
		DEV_DBG("%s: MaxTMDS=%dMHz\n", __func__, (u32)vsd[7] * 5);

	edid_ctrl->physical_address = ((u16)vsd[4] << 8) + (u16)vsd[5];

	return ((u32)vsd[3] << 16) + ((u32)vsd[2] << 8) + (u32)vsd[1];