Skip to content

Commit

Permalink
drm/i915: Reject non-default contexts on non-render again
Browse files Browse the repository at this point in the history
This reverts the abi-change from

commit 67e3d29
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Fri Dec 6 14:11:01 2013 -0800

    drm/i915: Permit contexts on all rings

We don't actually need this, only the internal changes to allow
contexts on all rings for the purpose of ppgtt switching are required.
And I'm not sure whether this is the right thing to do given some of
the hw features in the pipeline.

Also, new abi needs userspace patches as a proof-of-need, which is
completely lacking here.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Daniel Vetter committed Dec 18, 2013
1 parent 7d9c477 commit 7c9c4b8
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/gpu/drm/i915/i915_gem_execbuffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -890,11 +890,14 @@ validate_exec_list(struct drm_i915_gem_exec_object2 *exec,

static struct i915_hw_context *
i915_gem_validate_context(struct drm_device *dev, struct drm_file *file,
const u32 ctx_id)
struct intel_ring_buffer *ring, const u32 ctx_id)
{
struct i915_hw_context *ctx = NULL;
struct i915_ctx_hang_stats *hs;

if (ring->id != RCS && ctx_id != DEFAULT_CONTEXT_ID)
return ERR_PTR(-EINVAL);

ctx = i915_gem_context_get(file->driver_priv, ctx_id);
if (IS_ERR_OR_NULL(ctx))
return ctx;
Expand Down Expand Up @@ -1103,7 +1106,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
goto pre_mutex_err;
}

ctx = i915_gem_validate_context(dev, file, ctx_id);
ctx = i915_gem_validate_context(dev, file, ring, ctx_id);
if (IS_ERR_OR_NULL(ctx)) {
mutex_unlock(&dev->struct_mutex);
ret = PTR_ERR(ctx);
Expand Down

0 comments on commit 7c9c4b8

Please sign in to comment.