From eaed3221fa560db947f2492c6c82aab90b07d91b Mon Sep 17 00:00:00 2001 From: Ajay Singh Parmar Date: Thu, 25 Jul 2019 17:40:47 -0700 Subject: [PATCH] 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 --- msm/dp/dp_panel.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/msm/dp/dp_panel.c b/msm/dp/dp_panel.c index 8d8d6bf2bcb0..2f6d8d9468ba 100644 --- a/msm/dp/dp_panel.c +++ b/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);