• Ben Widawsky's avatar
    drm/i915: Add VM to context · c7c48dfd
    Ben Widawsky authored
    Pretty straightforward so far except for the bit about the refcounting.
    The PPGTT will potentially be shared amongst multiple contexts. Because
    contexts themselves have a refcounted lifecycle, the easiest way to
    manage this will be to refcount the PPGTT. To acheive this, we piggy
    back off of the existing context refcount, and will increment and
    decrement the PPGTT refcount with context creation, and destruction.
    
    To put it more clearly, if context A, and context B both use PPGTT 0, we
    can't free the PPGTT until both A, and B are destroyed.
    
    Note that because the PPGTT is permanently pinned (for now), it really
    just matters for the PPGTT destruction, as opposed to making space under
    memory pressure.
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    c7c48dfd
i915_gem_gtt.c 49.4 KB