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.
Showing the changes to include/uapi (1 of 4 files). Show all
Unified · Split
| @@ -105,10 +105,9 @@ struct xe_user_extension { · 104 unmodified lines | |||
| 105 | #define DRM_XE_VM_BIND 0x05 | 105 | #define DRM_XE_VM_BIND 0x05 |
| 106 | #define DRM_XE_EXEC_QUEUE_CREATE 0x06 | 106 | #define DRM_XE_EXEC_QUEUE_CREATE 0x06 |
| 107 | #define DRM_XE_EXEC_QUEUE_DESTROY 0x07 | 107 | #define DRM_XE_EXEC_QUEUE_DESTROY 0x07 |
| 108 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY 0x08 | 108 | #define DRM_XE_EXEC_QUEUE_GET_PROPERTY 0x08 |
| 109 | #define DRM_XE_EXEC_QUEUE_GET_PROPERTY 0x09 | 109 | #define DRM_XE_EXEC 0x09 |
| 110 | #define DRM_XE_EXEC 0x0a | 110 | #define DRM_XE_WAIT_USER_FENCE 0x0a |
| 111 | #define DRM_XE_WAIT_USER_FENCE 0x0b | ||
| 112 | /* Must be kept compact -- no holes */ | 111 | /* Must be kept compact -- no holes */ |
| 113 | 112 | ||
| 114 | #define DRM_IOCTL_XE_DEVICE_QUERY DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_DEVICE_QUERY, struct drm_xe_device_query) | 113 | #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 { · 752 unmodified lines | |||
| 867 | /* Monitor 64MB contiguous region with 2M sub-granularity */ | 866 | /* Monitor 64MB contiguous region with 2M sub-granularity */ |
| 868 | #define DRM_XE_ACC_GRANULARITY_64M 3 | 867 | #define DRM_XE_ACC_GRANULARITY_64M 3 |
| 869 | 868 | ||
| 870 | /** | ||
| 871 | * struct drm_xe_exec_queue_set_property - exec queue set property | ||
| 872 | * | ||
| 873 | * Same namespace for extensions as drm_xe_exec_queue_create | ||
| 874 | */ | ||
| 875 | struct drm_xe_exec_queue_set_property { | ||
| 876 | /** @extensions: Pointer to the first extension struct, if any */ | ||
| 877 | __u64 extensions; | ||
| 878 | |||
| 879 | /** @exec_queue_id: Exec queue ID */ | ||
| 880 | __u32 exec_queue_id; | ||
| 881 | |||
| 882 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY 0 | ||
| 883 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE 1 | ||
| 884 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PREEMPTION_TIMEOUT 2 | ||
| 885 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PERSISTENCE 3 | ||
| 886 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_JOB_TIMEOUT 4 | ||
| 887 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_TRIGGER 5 | ||
| 888 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_NOTIFY 6 | ||
| 889 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_GRANULARITY 7 | ||
| 890 | /** @property: property to set */ | ||
| 891 | __u32 property; | ||
| 892 | |||
| 893 | /** @value: property value */ | ||
| 894 | __u64 value; | ||
| 895 | |||
| 896 | /** @reserved: Reserved */ | ||
| 897 | __u64 reserved[2]; | ||
| 898 | }; | ||
| 899 | |||
| 900 | struct drm_xe_exec_queue_create { | 869 | struct drm_xe_exec_queue_create { |
| 901 | #define DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY 0 | 870 | #define DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY 0 |
| 871 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY 0 | ||
| 872 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE 1 | ||
| 873 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PREEMPTION_TIMEOUT 2 | ||
| 874 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PERSISTENCE 3 | ||
| 875 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_JOB_TIMEOUT 4 | ||
| 876 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_TRIGGER 5 | ||
| 877 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_NOTIFY 6 | ||
| 878 | #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_ACC_GRANULARITY 7 | ||
| 879 | |||
| 902 | /** @extensions: Pointer to the first extension struct, if any */ | 880 | /** @extensions: Pointer to the first extension struct, if any */ |
| 903 | __u64 extensions; | 881 | __u64 extensions; |
| 904 | 882 | ||