* [PATCH] drm/i915: preserve other DP_TEST_SINK bits. @ 2014-09-29 22:29 Rodrigo Vivi 2014-09-29 22:39 ` Todd Previte 2014-09-30 20:36 ` Daniel Vetter 0 siblings, 2 replies; 6+ messages in thread From: Rodrigo Vivi @ 2014-09-29 22:29 UTC (permalink / raw) To: intel-gfx; +Cc: Rodrigo Vivi Sink crc was implemented based on dp 1.1 spec that had all TEST_SINK bits reserved reading all 0s. But when reviewing my latest changes on sink crc Todd warned me that on new specs we have other valid bits on this reg that we might want to preserve. Cc: Todd Previte <tprevite@gmail.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> --- drivers/gpu/drm/i915/intel_dp.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index b8699b0..7d5fa2f 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -3821,8 +3821,9 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) if (!(buf & DP_TEST_CRC_SUPPORTED)) return -ENOTTY; + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, - DP_TEST_SINK_START) < 0) + buf | DP_TEST_SINK_START) < 0) return -EIO; drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, &buf); @@ -3841,7 +3842,10 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0) return -EIO; - drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0); + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); + drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, + buf & ~DP_TEST_SINK_START); + return 0; } -- 1.9.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. 2014-09-29 22:29 [PATCH] drm/i915: preserve other DP_TEST_SINK bits Rodrigo Vivi @ 2014-09-29 22:39 ` Todd Previte 2014-09-30 7:42 ` Daniel Vetter 2014-09-30 20:36 ` Daniel Vetter 1 sibling, 1 reply; 6+ messages in thread From: Todd Previte @ 2014-09-29 22:39 UTC (permalink / raw) To: 'Rodrigo Vivi', intel-gfx Hi Rodrigo, Looks good. Only thing that needs to be removed is that extra blank line between the last part of the function and the return statement. Otherwise... Reviewed-by: Todd Previte <tprevite@gmail.com> -----Original Message----- From: Rodrigo Vivi [mailto:rodrigo.vivi@intel.com] Sent: Monday, September 29, 2014 3:30 PM To: intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi; Todd Previte Subject: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. Sink crc was implemented based on dp 1.1 spec that had all TEST_SINK bits reserved reading all 0s. But when reviewing my latest changes on sink crc Todd warned me that on new specs we have other valid bits on this reg that we might want to preserve. Cc: Todd Previte <tprevite@gmail.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> --- drivers/gpu/drm/i915/intel_dp.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index b8699b0..7d5fa2f 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -3821,8 +3821,9 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) if (!(buf & DP_TEST_CRC_SUPPORTED)) return -ENOTTY; + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, - DP_TEST_SINK_START) < 0) + buf | DP_TEST_SINK_START) < 0) return -EIO; drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, &buf); @@ -3841,7 +3842,10 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0) return -EIO; - drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0); + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); + drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, + buf & ~DP_TEST_SINK_START); + return 0; } -- 1.9.3 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. 2014-09-29 22:39 ` Todd Previte @ 2014-09-30 7:42 ` Daniel Vetter 0 siblings, 0 replies; 6+ messages in thread From: Daniel Vetter @ 2014-09-30 7:42 UTC (permalink / raw) To: Todd Previte; +Cc: intel-gfx, 'Rodrigo Vivi' On Mon, Sep 29, 2014 at 03:39:06PM -0700, Todd Previte wrote: > Hi Rodrigo, > > Looks good. Only thing that needs to be removed is that extra blank line > between the last part of the function and the return statement. Otherwise... Looking around in our driver the return statement at the end of the function is often on a separate line. > > Reviewed-by: Todd Previte <tprevite@gmail.com> Queued for -next, thanks for the patch. > > -----Original Message----- > From: Rodrigo Vivi [mailto:rodrigo.vivi@intel.com] > Sent: Monday, September 29, 2014 3:30 PM > To: intel-gfx@lists.freedesktop.org > Cc: Rodrigo Vivi; Todd Previte > Subject: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. > > Sink crc was implemented based on dp 1.1 spec that had all TEST_SINK bits > reserved reading all 0s. But when reviewing my latest changes on sink crc > Todd warned me that on new specs we have other valid bits on this reg that > we might want to preserve. Why was this not mentioned in the review to that patch? I've double-checked Todd's reply and I've only found a "lgtm, r-b". If you spot something odd, or something that should be addressed in a follow-up patch, that should be part of your review reply - review is much more than rubber-stamping with r-b tags. And if that review happened offline or in Portland, pls always try to summarize the main points discussed in the patch or reply for the benefit of everyone else. We're a globally distributed team, so active and inclusive communication is absolutely key. Thanks, Daniel > > Cc: Todd Previte <tprevite@gmail.com> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c > b/drivers/gpu/drm/i915/intel_dp.c index b8699b0..7d5fa2f 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -3821,8 +3821,9 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 > *crc) > if (!(buf & DP_TEST_CRC_SUPPORTED)) > return -ENOTTY; > > + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); > if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, > - DP_TEST_SINK_START) < 0) > + buf | DP_TEST_SINK_START) < 0) > return -EIO; > > drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, &buf); @@ > -3841,7 +3842,10 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 > *crc) > if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0) > return -EIO; > > - drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0); > + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); > + drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, > + buf & ~DP_TEST_SINK_START); > + > return 0; > } > > -- > 1.9.3 > > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. 2014-09-29 22:29 [PATCH] drm/i915: preserve other DP_TEST_SINK bits Rodrigo Vivi 2014-09-29 22:39 ` Todd Previte @ 2014-09-30 20:36 ` Daniel Vetter 2014-09-30 20:41 ` Rodrigo Vivi 1 sibling, 1 reply; 6+ messages in thread From: Daniel Vetter @ 2014-09-30 20:36 UTC (permalink / raw) To: Rodrigo Vivi; +Cc: intel-gfx On Mon, Sep 29, 2014 at 06:29:52PM -0400, Rodrigo Vivi wrote: > Sink crc was implemented based on dp 1.1 spec that had all TEST_SINK bits > reserved reading all 0s. But when reviewing my latest changes on sink crc > Todd warned me that on new specs we have other valid bits on this reg that we > might want to preserve. > > Cc: Todd Previte <tprevite@gmail.com> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index b8699b0..7d5fa2f 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -3821,8 +3821,9 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) > if (!(buf & DP_TEST_CRC_SUPPORTED)) > return -ENOTTY; > > + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); > if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, With this we no longer check the first aux transaction for errors, and maybe we should even check them all? -Daniel > - DP_TEST_SINK_START) < 0) > + buf | DP_TEST_SINK_START) < 0) > return -EIO; > > drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, &buf); > @@ -3841,7 +3842,10 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) > if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0) > return -EIO; > > - drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0); > + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); > + drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, > + buf & ~DP_TEST_SINK_START); > + > return 0; > } > > -- > 1.9.3 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. 2014-09-30 20:36 ` Daniel Vetter @ 2014-09-30 20:41 ` Rodrigo Vivi 2014-10-01 8:06 ` Daniel Vetter 0 siblings, 1 reply; 6+ messages in thread From: Rodrigo Vivi @ 2014-09-30 20:41 UTC (permalink / raw) To: Daniel Vetter; +Cc: intel-gfx, Rodrigo Vivi Please don't forget the drm/i915: Fix Sink CRC That is the important one that fix crc calculation and will allow me to remove the extra wait for vblanks on tests besides making tests more stable. On Tue, Sep 30, 2014 at 1:36 PM, Daniel Vetter <daniel@ffwll.ch> wrote: > On Mon, Sep 29, 2014 at 06:29:52PM -0400, Rodrigo Vivi wrote: >> Sink crc was implemented based on dp 1.1 spec that had all TEST_SINK bits >> reserved reading all 0s. But when reviewing my latest changes on sink crc >> Todd warned me that on new specs we have other valid bits on this reg that we >> might want to preserve. >> >> Cc: Todd Previte <tprevite@gmail.com> >> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> >> --- >> drivers/gpu/drm/i915/intel_dp.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c >> index b8699b0..7d5fa2f 100644 >> --- a/drivers/gpu/drm/i915/intel_dp.c >> +++ b/drivers/gpu/drm/i915/intel_dp.c >> @@ -3821,8 +3821,9 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) >> if (!(buf & DP_TEST_CRC_SUPPORTED)) >> return -ENOTTY; >> >> + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); >> if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, > > With this we no longer check the first aux transaction for errors, and > maybe we should even check them all? That is true. Do you prefer a v2 or top fix? And what do you prefer? avoid the check at all or check on the first aux transaction? > -Daniel > >> - DP_TEST_SINK_START) < 0) >> + buf | DP_TEST_SINK_START) < 0) >> return -EIO; >> >> drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, &buf); >> @@ -3841,7 +3842,10 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) >> if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0) >> return -EIO; >> >> - drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0); >> + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); >> + drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, >> + buf & ~DP_TEST_SINK_START); >> + >> return 0; >> } >> >> -- >> 1.9.3 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Daniel Vetter > Software Engineer, Intel Corporation > +41 (0) 79 365 57 48 - http://blog.ffwll.ch > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Rodrigo Vivi Blog: http://blog.vivi.eng.br ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. 2014-09-30 20:41 ` Rodrigo Vivi @ 2014-10-01 8:06 ` Daniel Vetter 0 siblings, 0 replies; 6+ messages in thread From: Daniel Vetter @ 2014-10-01 8:06 UTC (permalink / raw) To: Rodrigo Vivi; +Cc: intel-gfx, Rodrigo Vivi On Tue, Sep 30, 2014 at 01:41:20PM -0700, Rodrigo Vivi wrote: > Please don't forget the drm/i915: Fix Sink CRC > > That is the important one that fix crc calculation and will allow me > to remove the extra wait for vblanks on tests besides making tests > more stable. > > > On Tue, Sep 30, 2014 at 1:36 PM, Daniel Vetter <daniel@ffwll.ch> wrote: > > On Mon, Sep 29, 2014 at 06:29:52PM -0400, Rodrigo Vivi wrote: > >> Sink crc was implemented based on dp 1.1 spec that had all TEST_SINK bits > >> reserved reading all 0s. But when reviewing my latest changes on sink crc > >> Todd warned me that on new specs we have other valid bits on this reg that we > >> might want to preserve. > >> > >> Cc: Todd Previte <tprevite@gmail.com> > >> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > >> --- > >> drivers/gpu/drm/i915/intel_dp.c | 8 ++++++-- > >> 1 file changed, 6 insertions(+), 2 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > >> index b8699b0..7d5fa2f 100644 > >> --- a/drivers/gpu/drm/i915/intel_dp.c > >> +++ b/drivers/gpu/drm/i915/intel_dp.c > >> @@ -3821,8 +3821,9 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) > >> if (!(buf & DP_TEST_CRC_SUPPORTED)) > >> return -ENOTTY; > >> > >> + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); > >> if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, > > > > With this we no longer check the first aux transaction for errors, and > > maybe we should even check them all? > > That is true. Do you prefer a v2 or top fix? > And what do you prefer? avoid the check at all or check on the first > aux transaction? Fixup patch is ok, I've kept your patch here. And I guess if you bother you should add checks with return -EIO to all of them, since they could all fail. Even if it's just for consistency. -Daniel > > > > -Daniel > > > >> - DP_TEST_SINK_START) < 0) > >> + buf | DP_TEST_SINK_START) < 0) > >> return -EIO; > >> > >> drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, &buf); > >> @@ -3841,7 +3842,10 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc) > >> if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0) > >> return -EIO; > >> > >> - drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0); > >> + drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf); > >> + drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, > >> + buf & ~DP_TEST_SINK_START); > >> + > >> return 0; > >> } > >> > >> -- > >> 1.9.3 > >> > >> _______________________________________________ > >> Intel-gfx mailing list > >> Intel-gfx@lists.freedesktop.org > >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > > > -- > Rodrigo Vivi > Blog: http://blog.vivi.eng.br -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-10-01 8:06 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-09-29 22:29 [PATCH] drm/i915: preserve other DP_TEST_SINK bits Rodrigo Vivi 2014-09-29 22:39 ` Todd Previte 2014-09-30 7:42 ` Daniel Vetter 2014-09-30 20:36 ` Daniel Vetter 2014-09-30 20:41 ` Rodrigo Vivi 2014-10-01 8:06 ` Daniel Vetter
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.