[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <28908639-4070-d39a-b96c-2fc30083b55d@linux.intel.com>
Date: Tue, 9 Aug 2016 14:44:00 +0200
From: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>
To: Lyude <cpaul@...hat.com>, intel-gfx@...ts.freedesktop.org,
Ville Syrjälä <ville.syrjala@...ux.intel.com>,
Matt Roper <matthew.d.roper@...el.com>
Cc: Daniel Vetter <daniel.vetter@...ll.ch>, stable@...r.kernel.org,
Daniel Vetter <daniel.vetter@...el.com>,
Jani Nikula <jani.nikula@...ux.intel.com>,
David Airlie <airlied@...ux.ie>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v10] drm/i915/skl: Add support for the SAGV, fix underrun
hangs
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
Powered by blists - more mailing lists