Commit 5dc079d1 authored by Ashutosh Dixit's avatar Ashutosh Dixit Committed by Rodrigo Vivi

drm/xe/uapi: Use common drm_xe_ext_set_property extension

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: default avatarAshutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: default avatarFrancois Dugast <francois.dugast@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
parent bffb2573
...@@ -418,7 +418,7 @@ static int exec_queue_user_ext_set_property(struct xe_device *xe, ...@@ -418,7 +418,7 @@ static int exec_queue_user_ext_set_property(struct xe_device *xe,
bool create) bool create)
{ {
u64 __user *address = u64_to_user_ptr(extension); 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; int err;
u32 idx; u32 idx;
......
...@@ -2067,7 +2067,7 @@ static int vm_user_ext_set_property(struct xe_device *xe, struct xe_vm *vm, ...@@ -2067,7 +2067,7 @@ static int vm_user_ext_set_property(struct xe_device *xe, struct xe_vm *vm,
u64 extension) u64 extension)
{ {
u64 __user *address = u64_to_user_ptr(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; int err;
err = __copy_from_user(&ext, address, sizeof(ext)); err = __copy_from_user(&ext, address, sizeof(ext));
......
...@@ -569,12 +569,11 @@ struct drm_xe_vm_bind_op_error_capture { ...@@ -569,12 +569,11 @@ struct drm_xe_vm_bind_op_error_capture {
__u64 size; __u64 size;
}; };
/** struct drm_xe_ext_vm_set_property - VM set property extension */ /** struct drm_xe_ext_set_property - XE set property extension */
struct drm_xe_ext_vm_set_property { struct drm_xe_ext_set_property {
/** @base: base user extension */ /** @base: base user extension */
struct xe_user_extension base; struct xe_user_extension base;
#define XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS 0
/** @property: property to set */ /** @property: property to set */
__u32 property; __u32 property;
...@@ -590,6 +589,7 @@ struct drm_xe_ext_vm_set_property { ...@@ -590,6 +589,7 @@ struct drm_xe_ext_vm_set_property {
struct drm_xe_vm_create { struct drm_xe_vm_create {
#define XE_VM_EXTENSION_SET_PROPERTY 0 #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 */ /** @extensions: Pointer to the first extension struct, if any */
__u64 extensions; __u64 extensions;
...@@ -754,21 +754,6 @@ struct drm_xe_vm_bind { ...@@ -754,21 +754,6 @@ struct drm_xe_vm_bind {
__u64 reserved[2]; __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 * struct drm_xe_exec_queue_set_property - exec queue set property
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment