drm/i915: Add atomic page flip support
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 22 Oct 2012 17:57:52 +0000 (20:57 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 25 Oct 2012 16:57:48 +0000 (19:57 +0300)
commit78dfdbcc7c836edb6ffe8c50167f5c4c1ed420a8
tree000efdec4f331778fc30d0f7533429a0a9c4a81f
parenta5f58fc703294e268b291d456b83d95f3d1a4d53
drm/i915: Add atomic page flip support

Add support for the DRM_MODE_ATOMIC_NONBLOCK flag.

The drm_flip helper provides the necessary logic to track the
progress of the flips. drm_flip is driven by a few extra calls
from the interrupt handling and crtc_disable code paths.

Since the hardware doesn't provide inter-plane synchronization, some
extra software magic is required to avoid flips for multiple planes
ending up on the wrong sides of the vblank leading edge.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_atomic.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h