[Intel-gfx] [PATCH 0/4] More nuclear pageflip

Daniel Vetter daniel at ffwll.ch
Sat Jan 31 01:35:32 PST 2015


On Fri, Jan 30, 2015 at 04:22:35PM -0800, Matt Roper wrote:
> The first two patches here were already posted earlier this week; they allow
> our legacy plane updates to make use of the main atomic helpers rather than the
> transitional atomic helpers.  This shouldn't have any functional change, but it
> will cause us to exercise the full atomic pipeline rather than just the plane
> subset of it.
> 
> The third patch is the interesting one; it allows us to handle nuclear pageflip
> requests in a non-blocking manner and deliver a uevent upon completion.  This
> is important functionality for compositors since it allows them to request that
> the kernel perform a flip, then continue on doing other work while they wait
> for the flip to actually happen.
> 
> The final patch here switches our legacy pageflip ioctl to use the atomic
> helper (thus exercising the new asynchronous support added in patch #3).
> Removing the i915-specific pageflip handling should allow us to drop a bunch of
> our display code; I've been somewhat conservative in my code removal for now
> (just enough to get rid of the 'function unused' compiler warnings); we can do
> further cleanup of code that relates to the legacy pageflip pipeline in a
> future patchset.

Our current mmio flip doesn't work on gen4 and earlier because the flip
completion event generation only works with MI_ flips. So I think we need
to (at least for now) keep the legacy flip code around and wired up for
those platforms.

But we need to redo the flip completion anyway (and probably just key off
the next vblank interrupt) since if you'd do an atomic flip with just
sprites the event stuff wont work on any platform. Once we have that we
can then also roll out the legacy-pageflip-on-atomic for older platforms.
-Daniel

> 
> Matt Roper (4):
>   drm/i915: Keep plane->state updated on pageflip
>   drm/i915: Switch planes from transitional helpers to full atomic
>     helpers
>   drm/i915: Enable asynchronous nuclear flips
>   drm/i915: Use atomic helper for pageflips
> 
>  drivers/gpu/drm/i915/i915_drv.h      |   9 +-
>  drivers/gpu/drm/i915/i915_params.c   |   5 -
>  drivers/gpu/drm/i915/intel_atomic.c  | 162 ++++++--
>  drivers/gpu/drm/i915/intel_display.c | 716 +----------------------------------
>  drivers/gpu/drm/i915/intel_drv.h     |   8 +
>  drivers/gpu/drm/i915/intel_lrc.c     |   3 +-
>  6 files changed, 155 insertions(+), 748 deletions(-)
> 
> -- 
> 1.8.5.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the Intel-gfx mailing list