[Intel-gfx] [PATCH 05/53] drm/i915: Move i915_gem_validate_context() to i915_gem_context.c

Volkin, Bradley D bradley.d.volkin at intel.com
Wed Jun 18 22:00:19 CEST 2014


[snip]

On Mon, Jun 16, 2014 at 08:18:00AM -0700, Mateo Lozano, Oscar wrote:
> > > +struct intel_context *
> > > +i915_gem_context_validate(struct drm_device *dev, struct drm_file *file,
> > > +			  struct intel_engine_cs *ring, const u32 ctx_id) {
> > > +	struct intel_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(ctx))
> > > +		return ctx;
> > > +
> > > +	hs = &ctx->hang_stats;
> > > +	if (hs->banned) {
> > > +		DRM_DEBUG("Context %u tried to submit while banned\n",
> > ctx_id);
> > > +		return ERR_PTR(-EIO);
> > 
> > Ugh. No.
> > -Chris
> 
> D´oh! Why?
> - Oscar

Not sure if you got an answer on this. I'd guess the objection is that
the function effectively implements part of the execbuf2 API contract
rather than generic context behavior. So we'd want to just keep it as
part of i915_gem_execbuffer.c.

Brad



More information about the Intel-gfx mailing list