drm/xe/uapi: Use common drm_xe_ext_set_property extension
authorAshutosh Dixit <ashutosh.dixit@intel.com>
Wed, 20 Sep 2023 19:29:31 +0000 (15:29 -0400)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:43:17 +0000 (11:43 -0500)
There really is no difference between 'struct drm_xe_ext_vm_set_property'
and 'struct drm_xe_ext_exec_queue_set_property', they are extensions which
specify a <property, value> pair. Replace the two extensions with a single
common 'struct drm_xe_ext_set_property' extension. The rationale is that
rather than have each XE module (including future modules) invent their own
property/value extensions, all XE modules use a common set_property
extension when possible.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
drivers/gpu/drm/xe/xe_exec_queue.c
drivers/gpu/drm/xe/xe_vm.c
include/uapi/drm/xe_drm.h

index 5714a7195349dba7f805dea379955ed8471c735c..38ce777d0ba886780e1b65049a6ec3469152334d 100644 (file)
@@ -418,7 +418,7 @@ static int exec_queue_user_ext_set_property(struct xe_device *xe,
                                            bool create)
 {
        u64 __user *address = u64_to_user_ptr(extension);
-       struct drm_xe_ext_exec_queue_set_property ext;
+       struct drm_xe_ext_set_property ext;
        int err;
        u32 idx;
 
index d02c0db5e2ae181586c11f7b0680703cac9a6162..3d350b27732ffac0b3d97643d43c8863795b9165 100644 (file)
@@ -2067,7 +2067,7 @@ static int vm_user_ext_set_property(struct xe_device *xe, struct xe_vm *vm,
                                    u64 extension)
 {
        u64 __user *address = u64_to_user_ptr(extension);
-       struct drm_xe_ext_vm_set_property ext;
+       struct drm_xe_ext_set_property ext;
        int err;
 
        err = __copy_from_user(&ext, address, sizeof(ext));
index 2a9e0402472348594180f62e3b7749b391897b0a..4987a634afc745e030af9fe3837622d39198fa6f 100644 (file)
@@ -569,12 +569,11 @@ struct drm_xe_vm_bind_op_error_capture {
        __u64 size;
 };
 
-/** struct drm_xe_ext_vm_set_property - VM set property extension */
-struct drm_xe_ext_vm_set_property {
+/** struct drm_xe_ext_set_property - XE set property extension */
+struct drm_xe_ext_set_property {
        /** @base: base user extension */
        struct xe_user_extension base;
 
-#define XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS           0
        /** @property: property to set */
        __u32 property;
 
@@ -590,6 +589,7 @@ struct drm_xe_ext_vm_set_property {
 
 struct drm_xe_vm_create {
 #define XE_VM_EXTENSION_SET_PROPERTY   0
+#define XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS           0
        /** @extensions: Pointer to the first extension struct, if any */
        __u64 extensions;
 
@@ -754,21 +754,6 @@ struct drm_xe_vm_bind {
        __u64 reserved[2];
 };
 
-/** struct drm_xe_ext_exec_queue_set_property - exec queue set property extension */
-struct drm_xe_ext_exec_queue_set_property {
-       /** @base: base user extension */
-       struct xe_user_extension base;
-
-       /** @property: property to set */
-       __u32 property;
-
-       /** @pad: MBZ */
-       __u32 pad;
-
-       /** @value: property value */
-       __u64 value;
-};
-
 /**
  * struct drm_xe_exec_queue_set_property - exec queue set property
  *