[Intel-gfx] [PATCH v3] drm/i915/skl: Add support for the SAGV, fix underrun hangs

Oskar Berggren oskar.berggren at gmail.com
Wed Jul 13 22:45:49 UTC 2016


2016-07-12 19:21 GMT+01:00 Matt Roper <matthew.d.roper at intel.com>:

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

I should mention that there was a brief period in 4.4.4-4.4.9 or so that
seemed
to work fairly stable compared to both 4.3 and 4.5.

/Oskar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20160713/e7fd996f/attachment.html>


More information about the Intel-gfx mailing list