• Ben Widawsky's avatar
    drm/i915: Reorder ctx unref on ppgtt cleanup · 2f295791
    Ben Widawsky authored
    The comment [which was mine] is wrong. The context object can never be
    bound in a PPGTT because it is only capable of living in the Global GTT.
    So, remove the comment, and reorder the unref. What's nice about the
    latter is it keeps the context object alive past the PPGTT. This makes
    the destroy ordering symmetric with the creation ordering.
    
    Create:
    1. Create context
    2. Create PPGTT
    
    Destroy:
    1. Destroy PPGTT
    2. Destroy context
    
    As far as I know, this does not fix a bug. The code previously kept the
    context data structure, only the object was gone. As the code was,
    nothing tried to use the object after this point.
    
    NOTE: If in the future we have cases where the PPGTT can/should outlive
    the context (which doesn't occur today, but the code permits it), this
    ordering does not matter. Even if this occurs, as it stands now, we do
    not expect that to be the normal case, and having this order makes
    debugging a bit easier if we're tracking object lifetimes for the
    context vs ppgtt
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    [danvet: Resolve conflict with Oscar's execlist prep patches.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    2f295791
i915_gem_context.c 24.3 KB