From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> 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