• D
    drm/i915: vfuncs for gtt_clear_range/insert_entries · 7faf1ab2
    Daniel Vetter 提交于
    We have a few too many differences here, so finally take the prepared
    abstraction and run with it. A few smaller changes are required to get
    things into shape:
    
    - move i915_cache_level up since we need it in the gt funcs
    - split up i915_ggtt_clear_range and move the two functions down to
      where the relevant insert_entries functions are
    - adjustments to a few function parameter lists
    
    Now we have 2 functions which deal with the gen6+ global gtt
    (gen6_ggtt_ prefix) and 2 functions which deal with the legacy gtt
    code in the intel-gtt.c fake agp driver (i915_ggtt_ prefix).
    
    Init is still a bit a mess, but honestly I don't care about that.
    
    One thing I've thought about while deciding on the exact interfaces is
    a flag parameter for ->clear_range: We could use that to decide
    between writing invalid pte entries or scratch pte entries. In case we
    ever get around to fixing all our bugs which currently prevent us from
    filling the gtt with empty ptes for the truly unused ranges ...
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    [bwidawsk: Moved functions to the gtt struct]
    Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
    Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    7faf1ab2
i915_gem_gtt.c 22.0 KB