]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Reorder ctx unref on ppgtt cleanup
authorBen Widawsky <benjamin.widawsky@intel.com>
Tue, 1 Jul 2014 18:17:47 +0000 (11:17 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 23 Jul 2014 05:05:39 +0000 (07:05 +0200)
commit8aeb1e80ebd2103317843bc426dd3e9a85e7b218
tree7785bb482d006b51f9ad0c0a176c0a172d9c9658
parent16599868f8a77d35d7df2e094bd10e5560b2cf3a
drm/i915: Reorder ctx unref on ppgtt cleanup

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: Ben Widawsky <ben@bwidawsk.net>
[danvet: Resolve conflict with Oscar's execlist prep patches.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_context.c