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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





2016-07-12 19:21 GMT+01:00 Matt Roper <matthew.d.roper@xxxxxxxxx>:
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@xxxxxxxxx>
> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Signed-off-by: Lyude <cpaul@xxxxxxxxxx>

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@xxxxxxxxx>

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



_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux