mirror of
https://github.com/torvalds/linux.git
synced 2026-04-27 19:12:29 -04:00
drm/i915: Move context management under GEM
Keep track of the GEM contexts underneath i915->gem.contexts and assign them their own lock for the purposes of list management. v2: Focus on lock tracking; ctx->vm is protected by ctx->mutex v3: Correct split with removal of logical HW ID Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191004134015.13204-15-chris@chris-wilson.co.uk
This commit is contained in:
@@ -59,11 +59,9 @@ static void mock_device_release(struct drm_device *dev)
|
||||
|
||||
i915_gem_drain_workqueue(i915);
|
||||
|
||||
mutex_lock(&i915->drm.struct_mutex);
|
||||
for_each_engine(engine, i915, id)
|
||||
mock_engine_free(engine);
|
||||
i915_gem_contexts_fini(i915);
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
i915_gem_driver_release__contexts(i915);
|
||||
|
||||
intel_timelines_fini(i915);
|
||||
|
||||
@@ -206,7 +204,7 @@ struct drm_i915_private *mock_gem_device(void)
|
||||
return i915;
|
||||
|
||||
err_context:
|
||||
i915_gem_contexts_fini(i915);
|
||||
i915_gem_driver_release__contexts(i915);
|
||||
err_engine:
|
||||
mock_engine_free(i915->engine[RCS0]);
|
||||
err_unlock:
|
||||
|
||||
Reference in New Issue
Block a user