[PATCH i-g-t] drm-uapi: Align header with drm-xe-next

Lucas De Marchi lucas.demarchi at intel.com
Thu Mar 28 23:51:12 UTC 2024


On Thu, Mar 28, 2024 at 02:17:04PM -0700, Ashutosh Dixit wrote:
>On Thu, 28 Mar 2024 10:32:43 -0700, Francois Dugast wrote:
>>
>
>Hi Francois,
>
>> Currently xe_drm.h is based on drm-next with some additions from
>> drm-xe-next.
>>
>> However some uAPI updates brought by commit ca4607939 ("drm-uapi/xe: \
>> Remove unused flags") were mistakenly reverted by commit aef5f4742
>> ("drm-uapi: sync with drm-next f112b68f273f").
>>
>> Ensure xe_drm.h is now aligned with kernel commit ("drm/xe/uapi: Add \
>> IP version and stepping to GT list query").

missing commit hash on this one.

>
>Let me copy some people and see what they say and what we should be doing
>here.
>
>Previously we were making sure that IGT uapi files in include/drm-uapi/
>were in sync with kernel drm-next branch. I am not sure what the reason for
>doing this was. When we were doing this, any definitions not in drm-next
>were put in lib/i915/i915_drm_local.h.

I think it's because drm-next was the one covering all branches.
I don't see a reason not to take the xe one from drm-xe-next when we
need it. We just need to be careful when sync'ing.

>
>So should we be doing this now even for Xe or not? Or we can just keep the
>IGT uapi headers in sync with drm-xe-next (or drm-tip)? If not, we would
>need to create a lib/xe/xe_drm_local.h and put stuff not in drm-next there.

I think the _local.h  should be used just on special occasions, when
e.g. implementing the tests and the kernel side is not merged.  If the
kernel side is already merged, then IMO it's better to take it from there to
avoid typos.

Lucas De Marchi

>
>This patch syncs IGT with the uapi header in drm-xe-next. If this is ok,
>this is:
>
>Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
>
>
>
>>
>> Cc: Ashutosh Dixit <ashutosh.dixit at intel.com>
>> Signed-off-by: Francois Dugast <francois.dugast at intel.com>
>> ---
>>  include/drm-uapi/xe_drm.h | 19 -------------------
>>  1 file changed, 19 deletions(-)
>>
>> diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
>> index 4353595a4..91ea92035 100644
>> --- a/include/drm-uapi/xe_drm.h
>> +++ b/include/drm-uapi/xe_drm.h
>> @@ -871,10 +871,6 @@ struct drm_xe_vm_destroy {
>>   *  - %DRM_XE_VM_BIND_OP_PREFETCH
>>   *
>>   * and the @flags can be:
>> - *  - %DRM_XE_VM_BIND_FLAG_READONLY
>> - *  - %DRM_XE_VM_BIND_FLAG_IMMEDIATE - Valid on a faulting VM only, do the
>> - *    MAP operation immediately rather than deferring the MAP to the page
>> - *    fault handler.
>>   *  - %DRM_XE_VM_BIND_FLAG_NULL - When the NULL flag is set, the page
>>   *    tables are setup with a special bit which indicates writes are
>>   *    dropped and all reads return zero. In the future, the NULL flags
>> @@ -967,8 +963,6 @@ struct drm_xe_vm_bind_op {
>>	/** @op: Bind operation to perform */
>>	__u32 op;
>>
>> -#define DRM_XE_VM_BIND_FLAG_READONLY	(1 << 0)
>> -#define DRM_XE_VM_BIND_FLAG_IMMEDIATE	(1 << 1)
>>  #define DRM_XE_VM_BIND_FLAG_NULL	(1 << 2)
>>  #define DRM_XE_VM_BIND_FLAG_DUMPABLE	(1 << 3)
>>	/** @flags: Bind flags */
>> @@ -1085,19 +1079,6 @@ struct drm_xe_exec_queue_create {
>>  #define DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY		0
>>  #define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY		0
>>  #define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE		1
>> -#define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_PREEMPTION_TIMEOUT	2
>> -#define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_JOB_TIMEOUT		4
>> -#define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_TRIGGER		5
>> -#define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_NOTIFY		6
>> -#define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_GRANULARITY	7
>> -/* Monitor 128KB contiguous region with 4K sub-granularity */
>> -#define     DRM_XE_ACC_GRANULARITY_128K				0
>> -/* Monitor 2MB contiguous region with 64KB sub-granularity */
>> -#define     DRM_XE_ACC_GRANULARITY_2M				1
>> -/* Monitor 16MB contiguous region with 512KB sub-granularity */
>> -#define     DRM_XE_ACC_GRANULARITY_16M				2
>> -/* Monitor 64MB contiguous region with 2M sub-granularity */
>> -#define     DRM_XE_ACC_GRANULARITY_64M				3
>>
>>	/** @extensions: Pointer to the first extension struct, if any */
>>	__u64 extensions;
>> --
>> 2.34.1
>>


More information about the igt-dev mailing list