Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1458709
| 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 |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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