[Intel-gfx] [PATCH 01/10] drm/i915: Check for a stalled page flip after each vblank
Chris Wilson
chris at chris-wilson.co.uk
Tue Sep 2 16:36:44 CEST 2014
On Tue, Sep 02, 2014 at 05:31:22PM +0300, Ville Syrjälä wrote:
> On Tue, Sep 02, 2014 at 02:57:36PM +0100, Chris Wilson wrote:
> > Long ago, back in the racy haydays of 915gm interrupt handling, page
> > flips would occasionally go astray and leave the hardware stuck, and the
> > display not updating. This annoyed people who relied on their systems
> > being able to display continuously updating information 24/7, and so
> > some code to detect when the driver missed the page flip completion
> > signal was added. Until recently, it was presumed that the interrupt
> > handling was now flawless, but once again Simon Farnsworth has found a
> > system whose display will stall. Reinstate the pageflip stall detection,
> > which works by checking to see if the hardware has been updated to the
> > new framebuffer address following each vblank. If the hardware is
> > scanning out from the new framebuffer, but we still think the flip is
> > pending, then we kick our driver into submision.
> >
> > This is a continuation of the effort started with
> > commit 4e5359cd053bfb7d8dabe4a63624a5726848ffbc
> > Author: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
> > Date: Wed Sep 1 17:47:52 2010 +0100
> >
> > drm/i915: Avoid pageflipping freeze when we miss the flip prepare interrupt
> >
> > This now includes a belt-and-braces approach to make sure the driver
> > (or the hardware) doesn't miss an interrupt and cause us to stop
> > updating the display should the unthinkable happen and the pageflip fail - i.e.
> > that the user is able to continue submitting flips.
>
> I have this plan that we stop using the flip done interrupts,
> since they're anyway fairly broken on bdw. But I haven't really
> thought how that would interact with this stall checking.
Now that you remind me, I had a plan to rewrite this on top of that
future.
> But I guess we can merge this stuff first and figure out the rest
> when someone gets around to posting a patch for killing flip done.
Yeah, I think this is important in the short term as we have a bug
causing system freezes that this at least (+ next patch) allows us to
recover from.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list