> -----Original Message-----
> From: Daniel Vetter [mailto:daniel.vet...@ffwll.ch] On Behalf Of Daniel
> Vetter
> Sent: Monday, June 16, 2014 6:56 PM
> To: Mateo Lozano, Oscar
> Cc: Chris Wilson; intel-gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH 51/53] drm/i915/bdw: Document Logical
> Rings, LR contexts and Execlists
> 
> On Mon, Jun 16, 2014 at 03:24:26PM +0000, Mateo Lozano, Oscar wrote:
> > > -----Original Message-----
> > > From: Chris Wilson [mailto:ch...@chris-wilson.co.uk]
> > > Sent: Friday, June 13, 2014 5:51 PM
> > > To: Mateo Lozano, Oscar
> > > Cc: intel-gfx@lists.freedesktop.org
> > > Subject: Re: [Intel-gfx] [PATCH 51/53] drm/i915/bdw: Document
> > > Logical Rings, LR contexts and Execlists
> > >
> > > On Fri, Jun 13, 2014 at 04:38:09PM +0100, oscar.ma...@intel.com
> wrote:
> > > > +/**
> > > > + * intel_execlists_ctx_id() - get the Execlists Context ID
> > > > + * @ctx_obj: Logical Ring Context backing object.
> > > > + *
> > > > + * Do not confuse with ctx->id! Unfortunately we have a name
> > > > +overload
> > > > + * here: the old context ID we pass to userspace as a handler so
> > > > +that
> > > > + * they can refer to a context, and the new context ID we pass to
> > > > +the
> > > > + * ELSP so that the GPU can inform us of the context status via
> > > > + * interrupts.
> > > > + *
> > > > + * Return: 20-bits globally unique context ID.
> > > > + */
> > >
> > > Use tag for the ctx id we pass around in hw?
> > > -Chris
> >
> > I also tried other names, like "submission id", but it confuses people
> > when they search for in the BSpec. Maybe changing ctx->id to ctx->tag,
> > and leaving id for the hardware?
> 
> I think Chris' idea was to reuse the id from the idr for the hw tag. But I 
> guess
> that fails because our idr is global.
> 
> Or I'm totally confused.
> 
> I'd vote for hw_ctx_id or something.
> -Daniel

In the first version of the series I tried to reuse the id from the idr, but 
that was a bad idea because the id we pass to the hw has to be globally unique, 
while our idr is per file_priv. What I did is adding an id field to the 
file_priv and then generating the hw ctx id by using some bits from ctx->id, 
some from file_priv->id and finally some from ring->id (since we multiplex 
several hw contexts inside our struct intel_context). But the ELSP context 
descriptor only allows 20 bits for the id, so I had to limit the maximum number 
of contexts, files or rings artificially (ugly).

Another proposal: s/ctx->id/ctx->handle. After all, our ctx->id software 
construct is just a userspace handle...

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to