[Intel-gfx] [PATCH 8/9] drm/i915: Remove intel_flip_work infrastructure

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 19 14:16:48 UTC 2017


Quoting Daniel Vetter (2017-07-19 14:24:20)
> On Wed, Jul 19, 2017 at 02:07:36PM +0100, Chris Wilson wrote:
> > Quoting Daniel Vetter (2017-07-19 13:55:01)
> > > This gets rid of all the interactions between the legacy flip code and
> > > the modeset code. Yay!
> > 
> > Including our missed vblank boosting. (That's been dead for a while.)
> 
> Hm right, but should be easy to add (and bonus, for every display update,
> not just flips) in the intel_sw_fence_wait function. Can you pls point me
> at what function I should call to reverse-boost an i915_sw_fence (and only
> that)?

You would have to walk the tree of input sw fences, detect those are
dma_fences and check if they are a request. Then for each request mark
it as boosted. That information is easier to keep during construction
rather than recovering it later, though honestly, I would just boost the
exclusive fences for the atomic state, i.e. use the reservation_object 
under the assumption that the snapshot hasn't drifted too much.

> Then we could queue up a vblank callback that fires on the next vblank for
> any of the CRTC in the update and boosts the i915_sw_fence. If we just
> boost the fence (instead of the context or something) it should also be
> easy to filter out boosting when the request has completed meanwhile.

Yup, boosting is now completely tied to requests.
-Chris


More information about the dri-devel mailing list