• Ben Widawsky's avatar
    drm/i915: Move gtt and ppgtt under address space umbrella · 853ba5d2
    Ben Widawsky authored
    The GTT and PPGTT can be thought of more generally as GPU address
    spaces. Many of their actions (insert entries), state (LRU lists), and
    many of their characteristics (size) can be shared. Do that.
    
    The change itself doesn't actually impact most of the VMA/VM rework
    coming up, it just fits in with the grand scheme of abstracting the GPU
    VM operations. GGTT will usually be a special case where we either know
    an object must be in the GGTT (dislay engine, workarounds, etc.).
    
    The scratch page is left as part of the VM (even though it's currently
    shared with the ppgtt code) because in the future when we have Full
    PPGTT, I intend to create a separate scratch page for each.
    
    v2: Drop usage of i915_gtt_vm (Daniel)
    Make cleanup also part of the parent class (Ben)
    Modified commit msg
    Rebased
    
    v3: Properly share scratch page (Imre)
    Finish commit message (Daniel, Imre)
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    853ba5d2
i915_gem.c 116 KB