Skip to content

Commit

Permalink
drm/i915: fix checksum write for automated test reply
Browse files Browse the repository at this point in the history
DP spec requires the checksum of the last block read to be written
when replying to TEST_EDID_READ. This patch fixes the current code
to do the same.

v2: removed loop for jumping blocks and performed direct addition
as recommended by Daniel

Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
Reviewed-by: Sonika Jindal <sonika.jindal@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Thulasimani,Sivakumar authored and Daniel Vetter committed Aug 14, 2015
1 parent ca5a0fb commit f79b468
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion drivers/gpu/drm/i915/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -4139,9 +4139,16 @@ static uint8_t intel_dp_autotest_edid(struct intel_dp *intel_dp)
intel_dp->aux.i2c_defer_count);
intel_dp->compliance_test_data = INTEL_DP_RESOLUTION_FAILSAFE;
} else {
struct edid *block = intel_connector->detect_edid;

/* We have to write the checksum
* of the last block read
*/
block += intel_connector->detect_edid->extensions;

if (!drm_dp_dpcd_write(&intel_dp->aux,
DP_TEST_EDID_CHECKSUM,
&intel_connector->detect_edid->checksum,
&block->checksum,
1))
DRM_DEBUG_KMS("Failed to write EDID checksum\n");

Expand Down

0 comments on commit f79b468

Please sign in to comment.