From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> MTL seems very good at racing the cursor mailbox updates against the vblank, causing things to not latch for long enough to cause GTT faults. Attempt to hook up vblank evasions into the legacy cursor path to avoid this. Also revert a dangerous wm/ddb change related to cursors. Ville Syrjälä (9): drm/i915: Decouple intel_crtc_vblank_evade_scanlines() from atomic commits drm/i915: Reorder drm_vblank_put() vs. need_vlv_dsi_wa drm/i915: Introduce struct intel_vblank_evade_ctx drm/i915: Include need_vlv_dsi_wa in intel_vblank_evade_ctx drm/i915: Extract intel_vblank_evade() drm/i915: Move the min/max scanline sanity check into intel_vblank_evade() drm/i915: Move intel_vblank_evade() & co. into intel_vblank.c drm/i915: Perform vblank evasion around legacy cursor updates Revert "drm/i915/xe2lpd: Treat cursor plane as regular plane for DDB allocation" .../gpu/drm/i915/display/intel_atomic_plane.c | 6 +- drivers/gpu/drm/i915/display/intel_crtc.c | 128 ++--------------- drivers/gpu/drm/i915/display/intel_cursor.c | 16 ++- drivers/gpu/drm/i915/display/intel_vblank.c | 130 ++++++++++++++++++ drivers/gpu/drm/i915/display/intel_vblank.h | 12 ++ drivers/gpu/drm/i915/display/skl_watermark.c | 16 +-- 6 files changed, 170 insertions(+), 138 deletions(-) -- 2.41.0