Message ID | 1438940670-27502-1-git-send-email-sivakumar.thulasimani@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Daniel, any comments for the patch below ? regards, Sivakumar On Friday 07 August 2015 03:14 PM, Sivakumar Thulasimani wrote: > From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com> > > 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> > --- > drivers/gpu/drm/i915/intel_dp.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index f1b9f93..fa6e202 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4090,9 +4090,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"); >
On Wed, Aug 12, 2015 at 11:36:07AM +0530, Sivakumar Thulasimani wrote: > Hi Daniel, > any comments for the patch below ? Find me a reviewer to r-b stamp this patch and I'll merge. -Daniel > > regards, > Sivakumar > > On Friday 07 August 2015 03:14 PM, Sivakumar Thulasimani wrote: > >From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com> > > > >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> > >--- > > drivers/gpu/drm/i915/intel_dp.c | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > >diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > >index f1b9f93..fa6e202 100644 > >--- a/drivers/gpu/drm/i915/intel_dp.c > >+++ b/drivers/gpu/drm/i915/intel_dp.c > >@@ -4090,9 +4090,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"); >
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index f1b9f93..fa6e202 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4090,9 +4090,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");