[Intel-gfx] [PATCH 3/3] drm/i915: Use vblank evade mechanism in mmio_flip

Damien Lespiau damien.lespiau at intel.com
Tue Oct 28 15:18:01 CET 2014


On Tue, Oct 28, 2014 at 03:10:14PM +0200, Ander Conselvan de Oliveira wrote:
> Currently we program just DPSCNTR and DSPSTRIDE directly from the ring
> interrupt handler, which is fine since the hardware guarantees that
> those are update atomically. When we have atomic page flips we'll want
> to be able to update also the offset registers, and then we need to use
> the vblank evade mechanism to guarantee atomicity. Since that mechanism
> introduces a wait, we need to do the actual register write from a work
> when it is triggered by the ring interrupt.
> 
> v2: Explain the need for mmio_flip.work in the commit message (Paulo)
>     Initialize the mmio_flip work in intel_crtc_init() (Paulo)
>     Prevent new flips the previous flip work finishes (Paulo)
>     Don't acquire modeset locks for mmio flip work

So that means you can replace the content of intel_do_mmio() by a call
to dev_priv->display.update_primary_plane() on top of this patch? That'd
do the right thing on SKL, which would make me happy.

-- 
Damien



More information about the Intel-gfx mailing list