On Thu, 2018-04-19 at 09:11 +0300, Lofstedt, Marta wrote: > For the PW results: > https://patchwork.freedesktop.org/series/41877/ > > it didn't fix the CRC mismatch on: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8731/shard- > snb6/igt@kms_frontbuffer_tracking@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx This was expected that removing one vblank doesn't fix have an effect on crc mismatches. Theres something more in this issue. > > but that test has always failed on SNB: > http://gfx-ci.fi.intel.com/cibuglog/?action_failures_history=-1&failu > res_test=igt@kms_frontbuffer_tracking@fbc-1p-pri-indfb- > multidraw&failures_machine=shard-snb > > so I don't think you brake anything with this patch. > > Mika, do you know if waiting for the extra vblank was done with some > purpose? That I don't know if it was intentional. I'll try to find out why it was needed. > > > > > > -----Original Message----- > > From: Intel-gfx [mailto:intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx] On > > Behalf > > Of Mika Kahola > > Sent: Wednesday, April 18, 2018 10:57 AM > > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > Subject: [PATCH] drm/i915: Wait for vblank after > > register read > > > > When reading out CRC's we wait for a vblank on > > intel_dp_sink_crc_start() > > function. When we start reading out CRC's in intel_dp_sink_crc() > > loop we > > first wait for a vblank yielding that all in all we end up waiting > > two vblanks on > > the first iteration round. Therefore, let's move the > > intel_wait_for_vblank() as the last routine that we do in an > > iteration loop in > > intel_dp_sink_crc(). > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103166 > > Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/intel_dp.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c > > b/drivers/gpu/drm/i915/intel_dp.c index 62f82c4..6eb97fa 100644 > > --- a/drivers/gpu/drm/i915/intel_dp.c > > +++ b/drivers/gpu/drm/i915/intel_dp.c > > @@ -3972,13 +3972,14 @@ int intel_dp_sink_crc(struct intel_dp > > *intel_dp, > > struct intel_crtc_state *crtc_s > > return ret; > > > > do { > > - intel_wait_for_vblank(dev_priv, intel_crtc- > > > > > > pipe); > > - > > if (drm_dp_dpcd_readb(&intel_dp->aux, > > > > DP_TEST_SINK_MISC, &buf) < 0) { > > ret = -EIO; > > goto stop; > > } > > + > > + intel_wait_for_vblank(dev_priv, intel_crtc- > > > > > > pipe); > > + > > count = buf & DP_TEST_COUNT_MASK; > > > > } while (--attempts && count == 0); > > -- > > 2.7.4 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Mika Kahola - Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx