[Intel-xe] [PATCH v5 10/20] drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
Dixit, Ashutosh
ashutosh.dixit at intel.com
Tue Oct 17 16:24:37 UTC 2023
On Tue, 17 Oct 2023 09:02:42 -0700, Rodrigo Vivi wrote:
>
> On Tue, Oct 17, 2023 at 08:37:47AM -0700, Dixit, Ashutosh wrote:
> > On Fri, 06 Oct 2023 02:59:33 -0700, Francois Dugast wrote:
> > >
> >
> > Hi Francois,
> >
> > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > index ad21ba1d6e0b..2a9e04024723 100644
> > > --- a/include/uapi/drm/xe_drm.h
> > > +++ b/include/uapi/drm/xe_drm.h
> > > @@ -781,21 +781,14 @@ struct drm_xe_exec_queue_set_property {
> > > /** @exec_queue_id: Exec queue ID */
> > > __u32 exec_queue_id;
> > >
> > > -#define XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY 0
> > > +#define XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY 0
> > > #define XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE 1
> > > #define XE_EXEC_QUEUE_SET_PROPERTY_PREEMPTION_TIMEOUT 2
> > > - /*
> > > - * Long running or ULLS engine mode. DMA fences not allowed in this
> > > - * mode. Must match the value of DRM_XE_VM_CREATE_COMPUTE_MODE, serves
> > > - * as a sanity check the UMD knows what it is doing. Can only be set at
> > > - * engine create time.
> > > - */
> > > -#define XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE 3
> > > -#define XE_EXEC_QUEUE_SET_PROPERTY_PERSISTENCE 4
> > > -#define XE_EXEC_QUEUE_SET_PROPERTY_JOB_TIMEOUT 5
> > > -#define XE_EXEC_QUEUE_SET_PROPERTY_ACC_TRIGGER 6
> > > -#define XE_EXEC_QUEUE_SET_PROPERTY_ACC_NOTIFY 7
> > > -#define XE_EXEC_QUEUE_SET_PROPERTY_ACC_GRANULARITY 8
> > > +#define XE_EXEC_QUEUE_SET_PROPERTY_PERSISTENCE 3
> > > +#define XE_EXEC_QUEUE_SET_PROPERTY_JOB_TIMEOUT 4
> > > +#define XE_EXEC_QUEUE_SET_PROPERTY_ACC_TRIGGER 5
> > > +#define XE_EXEC_QUEUE_SET_PROPERTY_ACC_NOTIFY 6
> > > +#define XE_EXEC_QUEUE_SET_PROPERTY_ACC_GRANULARITY 7
> > > /** @property: property to set */
> > > __u32 property;
> > >
> > > /** @value: property value */
> > > __u64 value;
> >
> > Mostly a nit, but I had a question about this because I am facing a similar
> > decision elsewhere. Why do we have one property/value pair in this struct
> > when all the rest of the property/value pairs are coming in via the
> > extensions? Basically, how about removing this property/value pair from
> > thus struct and let all the property/value pairs come in only via
> > extensions? I think that would both simplify the code a bit and be more
> > consistent. Thoughts?
>
> or maybe the other way around and do not have extensions on the first
> version of the api?
How would that work? Remove all these properties in v1 and replace by a
struct and only have any later changes via extenstions? That would be
non-uniform but of course doable.
I have an identical situation with some OA uapi too so wanted to get a
sense of what is preferable. So that we follow a common approach and don't
do things differently for different portions of the uapi. Thanks.
> just thinking out loud, but no hard feelings for either way...
>
> >
> > Thanks.
> > --
> > Ashutosh
More information about the Intel-xe
mailing list