Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1858,6 +1858,10 @@ static int per_file_ctx(int id, void *ptr, void *data)
	struct seq_file *m = data;
	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);

	return 0;
@@ -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) {
		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",
			   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);
	}
	seq_printf(m, "ECOCHK: 0x%08x\n", I915_READ(GAM_ECOCHK));
+0 −1
Original line number Diff line number Diff line
@@ -1780,7 +1780,6 @@ struct drm_i915_file_private {
	} mm;
	struct idr context_idr;

	struct intel_context *private_default_ctx;
	atomic_t rps_wait_boost;
	struct  intel_engine_cs *bsd_ring;
};
+4 −10
Original line number Diff line number Diff line
@@ -497,10 +497,6 @@ static int context_idr_cleanup(int id, void *p, void *data)
{
	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);
	return 0;
}
@@ -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)
{
	struct drm_i915_file_private *file_priv = file->driver_priv;
	struct intel_context *ctx;

	idr_init(&file_priv->context_idr);

	mutex_lock(&dev->struct_mutex);
	file_priv->private_default_ctx =
		i915_gem_create_context(dev, file_priv, USES_FULL_PPGTT(dev));
	ctx = i915_gem_create_context(dev, file_priv, USES_FULL_PPGTT(dev));
	mutex_unlock(&dev->struct_mutex);

	if (IS_ERR(file_priv->private_default_ctx)) {
	if (IS_ERR(ctx)) {
		idr_destroy(&file_priv->context_idr);
		return PTR_ERR(file_priv->private_default_ctx);
		return PTR_ERR(ctx);
	}

	return 0;
@@ -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_destroy(&file_priv->context_idr);

	i915_gem_context_unreference(file_priv->private_default_ctx);
}

struct intel_context *