<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-07-12 19:21 GMT+01:00 Matt Roper <span dir="ltr"><<a href="mailto:matthew.d.roper@intel.com" target="_blank">matthew.d.roper@intel.com</a>></span>:<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 Tue, Jul 12, 2016 at 01:36:03PM -0400, Lyude wrote:<br>
> Since the watermark calculations for Skylake are still broken, we're apt<br>
> to hitting underruns very easily under multi-monitor configurations.<br>
> While it would be lovely if this was fixed, it's not. Another problem<br>
> that's been coming from this however, is the mysterious issue of<br>
> underruns causing full system hangs. An easy way to reproduce this with<br>
> a skylake system:<br>
><br>
> - Get a laptop with a skylake GPU, and hook up two external monitors to<br>
> it<br>
> - Move the cursor from the built-in LCD to one of the external displays<br>
> as quickly as you can<br>
> - You'll get a few pipe underruns, and eventually the entire system will<br>
> just freeze.<br>
><br>
> After doing a lot of investigation and reading through the bspec, I<br>
> found the existence of the SAGV, which is responsible for adjusting the<br>
> system agent voltage and clock frequencies depending on how much power<br>
> we need. According to the bspec:<br>
><br>
> "The display engine access to system memory is blocked during the<br>
> adjustment time. SAGV defaults to enabled. Software must use the<br>
> GT-driver pcode mailbox to disable SAGV when the display engine is not<br>
> able to tolerate the blocking time."<br>
><br>
> The rest of the bspec goes on to explain that software can simply leave<br>
> the SAGV enabled, and disable it when we use interlaced pipes/have more<br>
> then one pipe active.<br>
><br>
> Sure enough, with this patchset the system hangs resulting from pipe<br>
> underruns on Skylake have completely vanished on my T460s. Additionally,<br>
> the bspec mentions turning off the SAGV with more then one pipe enabled<br>
> as a workaround for display underruns. While this patch doesn't entirely<br>
> fix that, it looks like it does improve the situation a little bit so<br>
> it's likely this is going to be required to make watermarks on Skylake<br>
> fully functional.<br>
><br>
> Changes since v2:<br>
> - Really apply minor style nitpicks to patch this time<br>
> Changes since v1:<br>
> - Added comments about this probably being one of the requirements to<br>
> fixing Skylake's watermark issues<br>
> - Minor style nitpicks from Matt Roper<br>
> - Disable these functions on Broxton, since it doesn't have an SAGV<br>
><br>
> Cc: Matt Roper <<a href="mailto:matthew.d.roper@intel.com">matthew.d.roper@intel.com</a>><br>
> Cc: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>><br>
> Cc: Ville Syrjälä <<a href="mailto:ville.syrjala@linux.intel.com">ville.syrjala@linux.intel.com</a>><br>
> Signed-off-by: Lyude <<a href="mailto:cpaul@redhat.com">cpaul@redhat.com</a>><br>
<br>
</div></div>I don't have a SKL to try this out on (only BXT here), but this matches<br>
my interpretation of the current bspec text, so<br>
<br>
Reviewed-by: Matt Roper <<a href="mailto:matthew.d.roper@intel.com">matthew.d.roper@intel.com</a>><br>
<br>
I think this also applies to<br>
<br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=94625" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=94625</a><br>
<br></blockquote><div><br></div><div>Yes, this does sound very similar to the problems I were having in that report.<br>Vacation etc. so haven't found time to try the 4.6 kernel yet, and now I will be<br></div><div>travelling until next week. If someone is easily able to prepare a kernel for<br></div><div>Fedora 24 with this patch it's more likely I can find time to try it next week (on<br>Dell XPS 9550 with 1 or 2 external monitors).<br><br></div><div>I should mention that there was a brief period in 4.4.4-4.4.9 or so that seemed<br></div>to work fairly stable compared to both 4.3 and 4.5.<br><br></div><div class="gmail_quote">/Oskar<br><br></div><div class="gmail_quote"><br></div><br></div></div>