Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1458709

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

From Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH v10] drm/i915/skl: Add support for the SAGV, fix underrun hangs
Date 2016-08-09 14:50 +0200
Message-ID <s4eDM-7BJ-47@gated-at.bofh.it> (permalink)
References <s3ZY5-6C6-5@gated-at.bofh.it> <s3ZY5-6C6-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hey,

Op 08-08-16 om 23:03 schreef Lyude:
> 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.

I think this patch goes with v9 6/6 and v8 2-5/6. If you're only updating a single patch it might be better to send it in reply to the original patch.

I'm testing the whole series on my prerelease skylake, and running into this:

[ 2794.933149] kms_cursor_legacy: starting subtest 2x-flip-vs-cursor-legacy
[ 2795.813970] [drm:skl_disable_sagv [i915]] *ERROR* Request to disable SAGV timed out

Value returned from skl_do_sagv_disable is always 0 for me, even when I bump the timeout to 15.

~Maarten

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v10] drm/i915/skl: Add support for the SAGV, fix underrun hangs Lyude <cpaul@redhat.com> - 2016-08-08 23:10 +0200
  [PATCH v10] drm/i915/skl: Add support for the SAGV, fix underrun hangs Lyude <cpaul@redhat.com> - 2016-08-08 23:10 +0200
    Re: [PATCH v10] drm/i915/skl: Add support for the SAGV, fix underrun  hangs Maarten Lankhorst <maarten.lankhorst@linux.intel.com> - 2016-08-09 14:50 +0200
      Re: [Intel-gfx] [PATCH v10] drm/i915/skl: Add support for the SAGV,  fix underrun hangs "Zanoni, Paulo R" <paulo.r.zanoni@intel.com> - 2016-08-09 15:50 +0200

csiph-web