drm/xe/uapi: Kill exec_queue_set_property
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 29 Nov 2023 16:41:15 +0000 (11:41 -0500)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:45:23 +0000 (11:45 -0500)
All the properties should be immutable and set upon exec_queue creation
using the existent extension. So, let's kill this useless and dangerous
uapi.

Cc: Francois Dugast <francois.dugast@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
drivers/gpu/drm/xe/xe_device.c
drivers/gpu/drm/xe/xe_exec_queue.c
drivers/gpu/drm/xe/xe_exec_queue.h
include/uapi/drm/xe_drm.h

index 65e9aa5e6c31ecd70e330fabede83fc7ddd9024a..8423c817111bf77a9c2b55341a9a72a0f245b4a0 100644 (file)
@@ -122,8 +122,6 @@ static const struct drm_ioctl_desc xe_ioctls[] = {
                          DRM_RENDER_ALLOW),
        DRM_IOCTL_DEF_DRV(XE_EXEC_QUEUE_DESTROY, xe_exec_queue_destroy_ioctl,
                          DRM_RENDER_ALLOW),
-       DRM_IOCTL_DEF_DRV(XE_EXEC_QUEUE_SET_PROPERTY, xe_exec_queue_set_property_ioctl,
-                         DRM_RENDER_ALLOW),
        DRM_IOCTL_DEF_DRV(XE_EXEC_QUEUE_GET_PROPERTY, xe_exec_queue_get_property_ioctl,
                          DRM_RENDER_ALLOW),
        DRM_IOCTL_DEF_DRV(XE_WAIT_USER_FENCE, xe_wait_user_fence_ioctl,
index 2bab6fbd82f5a039750d3e352a40fa1b46dbd3f3..985807d6abbb68d686ac4ce0995138d108104492 100644 (file)
@@ -883,44 +883,6 @@ int xe_exec_queue_destroy_ioctl(struct drm_device *dev, void *data,
        return 0;
 }
 
-int xe_exec_queue_set_property_ioctl(struct drm_device *dev, void *data,
-                                    struct drm_file *file)
-{
-       struct xe_device *xe = to_xe_device(dev);
-       struct xe_file *xef = to_xe_file(file);
-       struct drm_xe_exec_queue_set_property *args = data;
-       struct xe_exec_queue *q;
-       int ret;
-       u32 idx;
-
-       if (XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
-               return -EINVAL;
-
-       q = xe_exec_queue_lookup(xef, args->exec_queue_id);
-       if (XE_IOCTL_DBG(xe, !q))
-               return -ENOENT;
-
-       if (XE_IOCTL_DBG(xe, args->property >=
-                        ARRAY_SIZE(exec_queue_set_property_funcs))) {
-               ret = -EINVAL;
-               goto out;
-       }
-
-       idx = array_index_nospec(args->property,
-                                ARRAY_SIZE(exec_queue_set_property_funcs));
-       ret = exec_queue_set_property_funcs[idx](xe, q, args->value, false);
-       if (XE_IOCTL_DBG(xe, ret))
-               goto out;
-
-       if (args->extensions)
-               ret = exec_queue_user_extensions(xe, q, args->extensions, 0,
-                                                false);
-out:
-       xe_exec_queue_put(q);
-
-       return ret;
-}
-
 static void xe_exec_queue_last_fence_lockdep_assert(struct xe_exec_queue *q,
                                                    struct xe_vm *vm)
 {
index 533da1b0c457a5c03432f267d5580c06eeeba91d..d959cc4a1a82ab6d3f7ca426899c781afd667f9b 100644 (file)
@@ -55,8 +55,6 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
                               struct drm_file *file);
 int xe_exec_queue_destroy_ioctl(struct drm_device *dev, void *data,
                                struct drm_file *file);
-int xe_exec_queue_set_property_ioctl(struct drm_device *dev, void *data,
-                                    struct drm_file *file);
 int xe_exec_queue_get_property_ioctl(struct drm_device *dev, void *data,
                                     struct drm_file *file);
 enum xe_exec_queue_priority xe_exec_queue_device_get_max_priority(struct xe_device *xe);
index 2ab5ee299be0c7d3ea8392c2255da09ed92047c5..0895e4d2a9815f09c7991909a200b2aff991588a 100644 (file)
@@ -105,10 +105,9 @@ struct xe_user_extension {
 #define DRM_XE_VM_BIND                 0x05
 #define DRM_XE_EXEC_QUEUE_CREATE       0x06
 #define DRM_XE_EXEC_QUEUE_DESTROY      0x07
-#define DRM_XE_EXEC_QUEUE_SET_PROPERTY 0x08
-#define DRM_XE_EXEC_QUEUE_GET_PROPERTY 0x09
-#define DRM_XE_EXEC                    0x0a
-#define DRM_XE_WAIT_USER_FENCE         0x0b
+#define DRM_XE_EXEC_QUEUE_GET_PROPERTY 0x08
+#define DRM_XE_EXEC                    0x09
+#define DRM_XE_WAIT_USER_FENCE         0x0a
 /* Must be kept compact -- no holes */
 
 #define DRM_IOCTL_XE_DEVICE_QUERY              DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_DEVICE_QUERY, struct drm_xe_device_query)
@@ -867,38 +866,17 @@ struct drm_xe_vm_bind {
 /* Monitor 64MB contiguous region with 2M sub-granularity */
 #define DRM_XE_ACC_GRANULARITY_64M 3
 
-/**
- * struct drm_xe_exec_queue_set_property - exec queue set property
- *
- * Same namespace for extensions as drm_xe_exec_queue_create
- */
-struct drm_xe_exec_queue_set_property {
-       /** @extensions: Pointer to the first extension struct, if any */
-       __u64 extensions;
-
-       /** @exec_queue_id: Exec queue ID */
-       __u32 exec_queue_id;
-
-#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_PERSISTENCE             3
-#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
-       /** @property: property to set */
-       __u32 property;
-
-       /** @value: property value */
-       __u64 value;
-
-       /** @reserved: Reserved */
-       __u64 reserved[2];
-};
-
 struct drm_xe_exec_queue_create {
-#define DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY               0
+#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_PERSISTENCE           3
+#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
+
        /** @extensions: Pointer to the first extension struct, if any */
        __u64 extensions;