[PATCH 0/6] drm/atomic: Remove drm_atomic_helper_framebuffer_changed

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Dec 8 13:45:23 UTC 2016


drm_atomic_helpers use framebuffer_changed to skip some vblank waits
in case properties don't change. This may skip vblank waits also when
properties like rotation are changed. Fix this by always waiting for
vblank if planes are added to the state, and always calling prepare_fb
even when fb stays the same. Any smarts for this should be in the driver,
they know when waiting can be skipped.

While at it, cleanup drm_atomic_helper_wait_for_vblanks. It's
reusing members of the crtc_state for different things,
Maarten Lankhorst (6):
  drm/atomic: Use active instead of enable in wait_for_vblanks.
  drm/atomic: Unconditionally call prepare_fb.
  drm/atomic: Clean up wait_for_vblanks
  drm/atomic: Wait for vblank whenever a plane is added to state.
  drm/atomic: Remove drm_atomic_helper_framebuffer_changed.
  drm/i915: Add a cursor hack to allow converting legacy page flip to
    atomic.

 drivers/gpu/drm/drm_atomic_helper.c       |  77 ++++---------------
 drivers/gpu/drm/i915/intel_atomic_plane.c |  47 +++++++-----
 drivers/gpu/drm/i915/intel_display.c      | 123 +++++++++++++++++++++++++++++-
 drivers/gpu/drm/i915/intel_drv.h          |   2 +
 include/drm/drm_atomic_helper.h           |   3 -
 include/drm/drm_crtc.h                    |   5 --
 6 files changed, 168 insertions(+), 89 deletions(-)

-- 
2.7.4



More information about the dri-devel mailing list