Browse Source

disp: msm: dp: update checksum for edid corruption test 4.2.2.6

The DRM framework has added support to check for and calculate the
correct checksum for test cases in which the EDID is corrupted e.g.
test 4.2.2.6. Update the implementation to use the correct checksum
that is available as a field in the DP connector structure.

Change-Id: Ia9f65926e2c0fb3444aa87a4ac97850fbb4d70f3
Signed-off-by: Tatenda Chipeperekwa <[email protected]>
Tatenda Chipeperekwa 5 years ago
parent
commit
64f71d1dcb
1 changed files with 6 additions and 1 deletions
  1. 6 1
      msm/dp/dp_panel.c

+ 6 - 1
msm/dp/dp_panel.c

@@ -1978,7 +1978,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->real_edid_checksum;
 
 		panel->link->send_edid_checksum(panel->link, checksum);
 		panel->link->send_test_response(panel->link);