Commit f83d6518 authored by Oscar Mateo's avatar Oscar Mateo Committed by Daniel Vetter

drm/i915: Kill private_default_ctx off

It's barely alive now anyway, so give it the "coup de grâce".
Signed-off-by: default avatarOscar Mateo <oscar.mateo@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 273497e5
...@@ -1858,6 +1858,10 @@ static int per_file_ctx(int id, void *ptr, void *data) ...@@ -1858,6 +1858,10 @@ static int per_file_ctx(int id, void *ptr, void *data)
struct seq_file *m = data; struct seq_file *m = data;
struct i915_hw_ppgtt *ppgtt = ctx_to_ppgtt(ctx); struct i915_hw_ppgtt *ppgtt = ctx_to_ppgtt(ctx);
if (i915_gem_context_is_default(ctx))
seq_puts(m, " default context:\n");
else
seq_printf(m, " context %d:\n", ctx->id);
ppgtt->debug_dump(ppgtt, m); ppgtt->debug_dump(ppgtt, m);
return 0; return 0;
...@@ -1917,12 +1921,9 @@ static void gen6_ppgtt_info(struct seq_file *m, struct drm_device *dev) ...@@ -1917,12 +1921,9 @@ static void gen6_ppgtt_info(struct seq_file *m, struct drm_device *dev)
list_for_each_entry_reverse(file, &dev->filelist, lhead) { list_for_each_entry_reverse(file, &dev->filelist, lhead) {
struct drm_i915_file_private *file_priv = file->driver_priv; struct drm_i915_file_private *file_priv = file->driver_priv;
struct i915_hw_ppgtt *pvt_ppgtt;
pvt_ppgtt = ctx_to_ppgtt(file_priv->private_default_ctx);
seq_printf(m, "proc: %s\n", seq_printf(m, "proc: %s\n",
get_pid_task(file->pid, PIDTYPE_PID)->comm); get_pid_task(file->pid, PIDTYPE_PID)->comm);
seq_puts(m, " default context:\n");
idr_for_each(&file_priv->context_idr, per_file_ctx, m); idr_for_each(&file_priv->context_idr, per_file_ctx, m);
} }
seq_printf(m, "ECOCHK: 0x%08x\n", I915_READ(GAM_ECOCHK)); seq_printf(m, "ECOCHK: 0x%08x\n", I915_READ(GAM_ECOCHK));
......
...@@ -1780,7 +1780,6 @@ struct drm_i915_file_private { ...@@ -1780,7 +1780,6 @@ struct drm_i915_file_private {
} mm; } mm;
struct idr context_idr; struct idr context_idr;
struct intel_context *private_default_ctx;
atomic_t rps_wait_boost; atomic_t rps_wait_boost;
struct intel_engine_cs *bsd_ring; struct intel_engine_cs *bsd_ring;
}; };
......
...@@ -497,10 +497,6 @@ static int context_idr_cleanup(int id, void *p, void *data) ...@@ -497,10 +497,6 @@ static int context_idr_cleanup(int id, void *p, void *data)
{ {
struct intel_context *ctx = p; struct intel_context *ctx = p;
/* Ignore the default context because close will handle it */
if (i915_gem_context_is_default(ctx))
return 0;
i915_gem_context_unreference(ctx); i915_gem_context_unreference(ctx);
return 0; return 0;
} }
...@@ -508,17 +504,17 @@ static int context_idr_cleanup(int id, void *p, void *data) ...@@ -508,17 +504,17 @@ static int context_idr_cleanup(int id, void *p, void *data)
int i915_gem_context_open(struct drm_device *dev, struct drm_file *file) int i915_gem_context_open(struct drm_device *dev, struct drm_file *file)
{ {
struct drm_i915_file_private *file_priv = file->driver_priv; struct drm_i915_file_private *file_priv = file->driver_priv;
struct intel_context *ctx;
idr_init(&file_priv->context_idr); idr_init(&file_priv->context_idr);
mutex_lock(&dev->struct_mutex); mutex_lock(&dev->struct_mutex);
file_priv->private_default_ctx = ctx = i915_gem_create_context(dev, file_priv, USES_FULL_PPGTT(dev));
i915_gem_create_context(dev, file_priv, USES_FULL_PPGTT(dev));
mutex_unlock(&dev->struct_mutex); mutex_unlock(&dev->struct_mutex);
if (IS_ERR(file_priv->private_default_ctx)) { if (IS_ERR(ctx)) {
idr_destroy(&file_priv->context_idr); idr_destroy(&file_priv->context_idr);
return PTR_ERR(file_priv->private_default_ctx); return PTR_ERR(ctx);
} }
return 0; return 0;
...@@ -530,8 +526,6 @@ void i915_gem_context_close(struct drm_device *dev, struct drm_file *file) ...@@ -530,8 +526,6 @@ void i915_gem_context_close(struct drm_device *dev, struct drm_file *file)
idr_for_each(&file_priv->context_idr, context_idr_cleanup, NULL); idr_for_each(&file_priv->context_idr, context_idr_cleanup, NULL);
idr_destroy(&file_priv->context_idr); idr_destroy(&file_priv->context_idr);
i915_gem_context_unreference(file_priv->private_default_ctx);
} }
struct intel_context * struct intel_context *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment