[Intel-gfx] [PATCH 0/9] drm/i915: Split plane updates to noarm+arm phases

Ville Syrjala ville.syrjala at linux.intel.com
Mon Oct 18 11:50:21 UTC 2021


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Write all non-arming double buffered plane registers ahead of
the vblank evade critical section. This reduces the amount of
work we have to inside the critical section and thus should
speed it up a bit.

I didn't convert cursors yet because IIRC they had some
intersting double buffering behaviours. Similar story with
skl+ scalers. Need to do further studies on those topics
to do this safely. For now we're left with a few TODOs.

Also tossed in a few async flip fixes at the start.

Ville Syrjälä (9):
  drm/i915: Reject planar formats when doing async flips
  drm/i915: Fix async flip with decryption and/or DPT
  drm/i915: Fix up the sprite namespacing
  drm/i915: Split update_plane() into update_noarm() + update_arm()
  drm/i915: Split skl+ plane update into noarm+arm pair
  drm/i915: Split pre-skl primary plane update into noarm+arm pair
  drm/i915: Split g4x+ sprite plane update into noarm+arm pair
  drm/i915: Split ivb+ sprite plane update into noarm+arm pair
  drm/i915: Split vlv/chv sprite plane update into noarm+arm pair

 drivers/gpu/drm/i915/display/i9xx_plane.c     |  72 +++---
 .../gpu/drm/i915/display/intel_atomic_plane.c |  88 +++++--
 .../gpu/drm/i915/display/intel_atomic_plane.h |  23 +-
 drivers/gpu/drm/i915/display/intel_cursor.c   |  44 ++--
 drivers/gpu/drm/i915/display/intel_display.c  |  18 +-
 .../drm/i915/display/intel_display_types.h    |  12 +-
 drivers/gpu/drm/i915/display/intel_sprite.c   | 214 +++++++++++-------
 .../drm/i915/display/skl_universal_plane.c    | 150 +++++++-----
 drivers/gpu/drm/i915/i915_trace.h             |  33 ++-
 9 files changed, 431 insertions(+), 223 deletions(-)

-- 
2.32.0



More information about the Intel-gfx mailing list