• Tvrtko Ursulin's avatar
    drm/i915: Simplify and fix object to display tracking · 8a0c39b1
    Tvrtko Ursulin authored
    Purpose of this tracking is to know when to flush the cache between
    the CPU and the non-coherent display engine. Prior to:
    
       commit 121920fa
       Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
       Date:   Mon Mar 23 11:10:37 2015 +0000
    
           drm/i915/skl: Query display address through a wrapper
    
    This worked by a mix of direct flag manipulation and checking for
    existence of a pinned GGTT VMA.
    
    With the introduction of rotated display mappings this approach is
    no longer correct.
    
    New simpler approach is to just keep this count over calls which pin
    and unpin objects to and from display, at the slight cost of extra
    space in every bo.
    
    (Inspired and extracted code from a larger rework by Chris Wilson.)
    
    v2: Remove the limit since it is not well defined. (Chris Wilson, Ville Syrjälä)
    v3: Commit message corrections. (Chris Wilson)
    Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    8a0c39b1
i915_gem.c 132 KB