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

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

 



Em Ter, 2016-08-09 às 14:44 +0200, Maarten Lankhorst escreveu:
> 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.

Yesterday I started testing this series, and I also noticed some visual
corruption: while browsing moderately-heavy websites on a maximized
Firefox, I could see the desktop background sort of "blinking" in the
screen (the background was not supposed to be visible). It looks like
the problem was introduced by patch 4, but I can't be 100% sure since
sometimes it's a little harder to reproduce it. Still, this is better
than the current "X doesn't work" state that we have without the
series.

> 
> ~Maarten
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux