Browse Source

disp: msm: dp: use the correct checksum for EDID

As per new requirements from DP 1.4a CTS, DUT (device under test)
should update the TE (test equipment) with the correct checksum
of the EDID even though the EDID is corrupted. Update the TE
with the checksum stored in the connector to meet this new
requirement.

CRs-Fixed: 2490128
Change-Id: Ib5c7bf4430c45050da3c91968716e88bd830e3e4
Signed-off-by: Ajay Singh Parmar <[email protected]>
Ajay Singh Parmar 6 years ago
parent
commit
eaed3221fa
1 changed files with 6 additions and 1 deletions
  1. 6 1
      msm/dp/dp_panel.c

+ 6 - 1
msm/dp/dp_panel.c

@@ -2279,7 +2279,12 @@ static void dp_panel_handle_sink_request(struct dp_panel *dp_panel)
 	panel = container_of(dp_panel, struct dp_panel_private, dp_panel);
 
 	if (panel->link->sink_request & DP_TEST_LINK_EDID_READ) {
-		u8 checksum = sde_get_edid_checksum(dp_panel->edid_ctrl);
+		u8 checksum;
+
+		if (dp_panel->edid_ctrl->edid)
+			checksum = sde_get_edid_checksum(dp_panel->edid_ctrl);
+		else
+			checksum = dp_panel->connector->checksum;
 
 		panel->link->send_edid_checksum(panel->link, checksum);
 		panel->link->send_test_response(panel->link);