<div dir="ltr">Please ignore this full series here.<div><br></div><div>I have a better one that let PSR on HSW in a better stage with only 1 idle frame and without changing the 100ms. Actually if we are brave we can reduce this to 24 or less. The new work is currently under <a href="http://cgit.freedesktop.org/~vivijim/drm-intel/log/?h=psr-3.18">http://cgit.freedesktop.org/~vivijim/drm-intel/log/?h=psr-3.18</a></div><div>However I'm not going to send yet because on BDW it got works. It seems BDW doesn't like to get PSR enabled immediatelly. So I'm justs sendint new series after I'm confortable that PSR is in a better stage for both HSW and BDW.</div><div><br></div><div>Thanks,</div><div>Rodrigo.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 5, 2014 at 1:37 AM, Daniel Vetter <span dir="ltr"><<a href="mailto:daniel@ffwll.ch" target="_blank">daniel@ffwll.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thu, Sep 04, 2014 at 05:40:05PM -0700, Rodrigo Vivi wrote:<br>
> Here goes results on BDW  with pure today's nightly (with idle_frame=1)<br>
><br>
> # First run<br>
><br>
> IGT-Version: 1.7-gd4b43f0 (x86_64) (Linux: 3.17.0-rc2+ x86_64)<br>
> Subtest primary_page_flip: SUCCESS<br>
> Subtest primary_mmap_gtt: SUCCESS<br>
> Test assertion failure function test_crc, file kms_psr_sink_crc.c:307:<br>
> Failed assertion: strcmp(ref_crc, CRC_GREEN) != 0<br>
> Subtest primary_mmap_gtt_waiting: FAIL<br>
> Subtest primary_mmap_cpu: SUCCESS<br>
> Subtest primary_blt: SUCCESS<br>
> Subtest primary_render: SUCCESS<br>
> Subtest sprite_mmap_gtt: SUCCESS<br>
> Waiting 10s...<br>
> Subtest sprite_mmap_gtt_waiting: SUCCESS<br>
> Subtest sprite_mmap_cpu: SUCCESS<br>
> Subtest sprite_blt: SUCCESS<br>
> Subtest sprite_render: SUCCESS<br>
> Subtest sprite_plane_move: SUCCESS<br>
> Subtest sprite_plane_onoff: SUCCESS<br>
> Subtest cursor_mmap_gtt: SUCCESS<br>
> Waiting 10s...<br>
> Subtest cursor_mmap_gtt_waiting: SUCCESS<br>
> Subtest cursor_mmap_cpu: SUCCESS<br>
> Subtest cursor_blt: SUCCESS<br>
> Subtest cursor_render: SUCCESS<br>
> Subtest cursor_plane_move: SUCCESS<br>
> Subtest cursor_plane_onoff: SUCCESS<br>
><br>
> #second run:<br>
><br>
> IGT-Version: 1.7-gd4b43f0 (x86_64) (Linux: 3.17.0-rc2+ x86_64)<br>
> Subtest primary_page_flip: SUCCESS<br>
> Subtest primary_mmap_gtt: SUCCESS<br>
> Waiting 10s...<br>
> Subtest primary_mmap_gtt_waiting: SUCCESS<br>
> Subtest primary_mmap_cpu: SUCCESS<br>
> Subtest primary_blt: SUCCESS<br>
> Subtest primary_render: SUCCESS<br>
> Subtest sprite_mmap_gtt: SUCCESS<br>
> Waiting 10s...<br>
> Subtest sprite_mmap_gtt_waiting: SUCCESS<br>
> Subtest sprite_mmap_cpu: SUCCESS<br>
> Subtest sprite_blt: SUCCESS<br>
> Test assertion failure function test_crc, file kms_psr_sink_crc.c:307:<br>
> Failed assertion: strcmp(ref_crc, CRC_GREEN) != 0<br>
> Subtest sprite_render: FAIL<br>
> Subtest sprite_plane_move: SUCCESS<br>
> Subtest sprite_plane_onoff: SUCCESS<br>
> Subtest cursor_mmap_gtt: SUCCESS<br>
> Waiting 10s...<br>
> Subtest cursor_mmap_gtt_waiting: SUCCESS<br>
> Subtest cursor_mmap_cpu: SUCCESS<br>
> Subtest cursor_blt: SUCCESS<br>
> Subtest cursor_render: SUCCESS<br>
> Subtest cursor_plane_move: SUCCESS<br>
> Subtest cursor_plane_onoff: SUCCESS<br>
><br>
> random failures! but better than hsw at least.<br>
<br>
</div></div>Ugh, this is painful :(<br>
<span class=""><br>
> However the hardcoded color is indeed a mistake... Green on this panel is<br>
> different from the green on the other panel.<br>
> But I'm also not sure about drawing the color with cairo... How can we be<br>
> sure what is there is what we want anyway.<br>
<br>
</span>Yeah, the crc value is implementation defined, but otoh we don't really<br>
depend upon that, as long as the same output results in the same crc.<br>
<span class=""><br>
> So maybe it is better to fall back to old scheme where we just check if<br>
> changed when we want it changes... without checking for colors.<br>
> What do you think?<br>
<br>
</span>You can't check for change with crc due to collisions, you really only (at<br>
least reliably) can check for matching outputs. And as long as we don't<br>
have any color correction enabled a given color on the sprite/cursor plane<br>
should exactly match the same color on the primary plane.<br>
<br>
For inspiration Ville's cursor crc testcase has all the ingredients I<br>
think you'll need for the sprite/cursor move tests.<br>
<div class="HOEnZb"><div class="h5">-Daniel<br>
--<br>
Daniel Vetter<br>
Software Engineer, Intel Corporation<br>
<a href="tel:%2B41%20%280%29%2079%20365%2057%2048" value="+41793655748">+41 (0) 79 365 57 48</a> - <a href="http://blog.ffwll.ch" target="_blank">http://blog.ffwll.ch</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><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>