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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;

+1 −1
Original line number Diff line number Diff line
@@ -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));
+3 −18
Original line number Diff line number Diff line
@@ -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
 *