<div dir="auto"><br></div><div><div dir="auto">Maybe we are missing a vblank wait somewhere on kernel CRC code?!</div><div dir="auto">Or maybe o kernel we read and discard the first for GLK?! :/</div><div dir="auto">Also this is pipe crc right?! Shouldn't it be independent of the panel at the end?! Does it only happen with MIPI/DSI ?! Or it just happen on that particular unity on CI that coincidentally has this panel?!</div><br><div class="gmail_quote"><div>On Fri, Sep 22, 2017 at 5:40 AM Mika Kahola <<a href="mailto:mika.kahola@intel.com">mika.kahola@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It seems that at least with GLK with MIPI/DSI display, the first collected<br>
CRC is bogus. To fix this, try to collect two CRC's instead of one.<br>
<br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=101309" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=101309</a><br>
Signed-off-by: Mika Kahola <<a href="mailto:mika.kahola@intel.com" target="_blank">mika.kahola@intel.com</a>><br>
---<br>
 tests/kms_frontbuffer_tracking.c | 12 +++++++++++-<br>
 1 file changed, 11 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c<br>
index a068c8a..df7cc6e 100644<br>
--- a/tests/kms_frontbuffer_tracking.c<br>
+++ b/tests/kms_frontbuffer_tracking.c<br>
@@ -1239,8 +1239,18 @@ static void print_crc(const char *str, struct both_crcs *crc)<br>
<br>
 static void collect_crcs(struct both_crcs *crcs, bool mandatory_sink_crc)<br>
 {<br>
-       igt_pipe_crc_collect_crc(pipe_crc, &crcs->pipe);<br>
+       int n;<br>
+       igt_crc_t *crc = NULL;<br>
+<br>
+       igt_pipe_crc_start(pipe_crc);<br>
+       n = igt_pipe_crc_get_crcs(pipe_crc, 2, &crc);<br>
+       igt_pipe_crc_stop(pipe_crc);<br>
+       igt_assert(n > 0);<br>
+       igt_assert_crc_equal(&crc[0], &crc[1]);<br>
+       crcs->pipe = crc[0];<br>
+<br>
        get_sink_crc(&crcs->sink, mandatory_sink_crc);<br>
+       free(crc);<br>
 }<br>
<br>
 static void init_blue_crc(enum pixel_format format, bool mandatory_sink_crc)<br>
--<br>
2.7.4<br>
<br>
_______________________________________________<br>
Intel-gfx mailing list<br>
<a href="mailto:Intel-gfx@lists.freedesktop.org" target="_blank">Intel-gfx@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/intel-gfx" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
</blockquote></div></div><div dir="ltr">-- <br></div><div class="gmail_signature" data-smartmail="gmail_signature"><div>Rodrigo Vivi</div><div>Blog: <a href="http://blog.vivi.eng.br" target="_blank">http://blog.vivi.eng.br</a></div><div> </div></div>