• Maarten Lankhorst's avatar
    drm/i915: Use atomic page flip for intel again. · 4c01ded5
    Maarten Lankhorst authored
    This reverts commit 527b6abe
    (Revert "drm/i915: Use atomic commits for legacy page_flips")
    
    and reapplies commit ee042aa4.
    ("drm/i915: Use atomic commits for legacy page_flips")
    
    The reason for the revert was because legacy cursor updates were
    forced to wait for pending page flips and rendering after they
    were converted to atomic.
    
    Commit f79f2692
    (drm/i915: Add a cursor hack to allow converting legacy page flip to atomic, v3)
    adds a fastpath to cursor updates, which fixes the stuttering issues.
    With these changes I feel confident enough to re-enable cursor updates.
    
    Legacy cursor update won't block in the following cases:
    - Moving cursor
    - Changing cursor fb
    
    The legacy cursor update will still block in the following cases:
    - Showing/hiding cursor.
    - Cursor size or scaling changes.
    - cursor update while cursor is invisible (could be fixed, if it turns out to be important).
    - Cursor tiling changes (Not sure we support tiled cursors.)
    - Last update was a modeset.
    
    Cc: Steven Newbury <steve@snewbury.org.uk>
    Cc: Rafael Ristovski <rafael.ristovski@gmail.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Tested-by: default avatarRafael Ristovski <rafael.ristovski@gmail.com>
    Testcase: igt/kms_cursor_legacy
    Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    4c01ded5
intel_display.c 488 KB