__create_hw_context can use a good counterpart.

Signed-off-by: Joonas Lahtinen <[email protected]>
Cc: Chris Wilson <[email protected]>
---
 drivers/gpu/drm/i915/i915_gem_context.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c 
b/drivers/gpu/drm/i915/i915_gem_context.c
index 6801054..0c9acd2 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -351,6 +351,13 @@ __create_hw_context(struct drm_i915_private *dev_priv,
        return ERR_PTR(ret);
 }
 
+static void __destroy_hw_context(struct i915_gem_context *ctx,
+                                struct drm_i915_file_private *file_priv)
+{
+       idr_remove(&file_priv->context_idr, ctx->user_handle);
+       context_close(ctx);
+}
+
 /**
  * The default context needs to exist per ring that uses contexts. It stores 
the
  * context state of the GPU for applications that don't utilize HW contexts, as
@@ -375,8 +382,7 @@ i915_gem_create_context(struct drm_i915_private *dev_priv,
                if (IS_ERR(ppgtt)) {
                        DRM_DEBUG_DRIVER("PPGTT setup failed (%ld)\n",
                                         PTR_ERR(ppgtt));
-                       idr_remove(&file_priv->context_idr, ctx->user_handle);
-                       context_close(ctx);
+                       __destroy_hw_context(ctx, file_priv);
                        return ERR_CAST(ppgtt);
                }
 
@@ -1038,8 +1044,7 @@ int i915_gem_context_destroy_ioctl(struct drm_device 
*dev, void *data,
                return PTR_ERR(ctx);
        }
 
-       idr_remove(&file_priv->context_idr, ctx->user_handle);
-       context_close(ctx);
+       __destroy_hw_context(ctx, file_priv);
        mutex_unlock(&dev->struct_mutex);
 
        DRM_DEBUG("HW context %d destroyed\n", args->ctx_id);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to