[Intel-xe] [RFC PATCH v3 1/2] drm/xe/uapi: Use hw prefix for hardware engines
Souza, Jose
jose.souza at intel.com
Fri Mar 24 15:27:22 UTC 2023
On Wed, 2023-03-22 at 19:58 -0700, Matthew Brost wrote:
> To make the difference clear between user engines (execution queue) and
> hardware engines (physical part of GPU) prefix all hardware engine
> references with 'hw'.
>
Reviewed-by: José Roberto de Souza <jose.souza at intel.com>
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
> ---
> drivers/gpu/drm/xe/xe_engine.c | 12 ++++++------
> drivers/gpu/drm/xe/xe_query.c | 12 ++++++------
> drivers/gpu/drm/xe/xe_wait_user_fence.c | 8 ++++----
> include/uapi/drm/xe_drm.h | 8 ++++----
> 4 files changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_engine.c b/drivers/gpu/drm/xe/xe_engine.c
> index a4fc5afdf688..9834728bb305 100644
> --- a/drivers/gpu/drm/xe/xe_engine.c
> +++ b/drivers/gpu/drm/xe/xe_engine.c
> @@ -401,7 +401,7 @@ static const enum xe_engine_class user_to_xe_engine_class[] = {
>
> static struct xe_hw_engine *
> find_hw_engine(struct xe_device *xe,
> - struct drm_xe_engine_class_instance eci)
> + struct drm_xe_hw_engine_class_instance eci)
> {
> u32 idx;
>
> @@ -420,7 +420,7 @@ find_hw_engine(struct xe_device *xe,
> }
>
> static u32 bind_engine_logical_mask(struct xe_device *xe, struct xe_gt *gt,
> - struct drm_xe_engine_class_instance *eci,
> + struct drm_xe_hw_engine_class_instance *eci,
> u16 width, u16 num_placements)
> {
> struct xe_hw_engine *hwe;
> @@ -449,7 +449,7 @@ static u32 bind_engine_logical_mask(struct xe_device *xe, struct xe_gt *gt,
> }
>
> static u32 calc_validate_logical_mask(struct xe_device *xe, struct xe_gt *gt,
> - struct drm_xe_engine_class_instance *eci,
> + struct drm_xe_hw_engine_class_instance *eci,
> u16 width, u16 num_placements)
> {
> int len = width * num_placements;
> @@ -505,8 +505,8 @@ int xe_engine_create_ioctl(struct drm_device *dev, void *data,
> struct xe_device *xe = to_xe_device(dev);
> struct xe_file *xef = to_xe_file(file);
> struct drm_xe_engine_create *args = data;
> - struct drm_xe_engine_class_instance eci[XE_HW_ENGINE_MAX_INSTANCE];
> - struct drm_xe_engine_class_instance __user *user_eci =
> + struct drm_xe_hw_engine_class_instance eci[XE_HW_ENGINE_MAX_INSTANCE];
> + struct drm_xe_hw_engine_class_instance __user *user_eci =
> u64_to_user_ptr(args->instances);
> struct xe_hw_engine *hwe;
> struct xe_vm *vm, *migrate_vm;
> @@ -525,7 +525,7 @@ int xe_engine_create_ioctl(struct drm_device *dev, void *data,
> return -EINVAL;
>
> err = __copy_from_user(eci, user_eci,
> - sizeof(struct drm_xe_engine_class_instance) *
> + sizeof(struct drm_xe_hw_engine_class_instance) *
> len);
> if (XE_IOCTL_ERR(xe, err))
> return -EFAULT;
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index 0f70945176f6..fbba245f63c4 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -40,16 +40,16 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
> i++;
> }
>
> - return i * sizeof(struct drm_xe_engine_class_instance);
> + return i * sizeof(struct drm_xe_hw_engine_class_instance);
> }
>
> -static int query_engines(struct xe_device *xe,
> - struct drm_xe_device_query *query)
> +static int query_hw_engines(struct xe_device *xe,
> + struct drm_xe_device_query *query)
> {
> size_t size = calc_hw_engine_info_size(xe);
> - struct drm_xe_engine_class_instance __user *query_ptr =
> + struct drm_xe_hw_engine_class_instance __user *query_ptr =
> u64_to_user_ptr(query->data);
> - struct drm_xe_engine_class_instance *hw_engine_info;
> + struct drm_xe_hw_engine_class_instance *hw_engine_info;
> struct xe_hw_engine *hwe;
> enum xe_hw_engine_id id;
> struct xe_gt *gt;
> @@ -357,7 +357,7 @@ static int query_gt_topology(struct xe_device *xe,
>
> static int (* const xe_query_funcs[])(struct xe_device *xe,
> struct drm_xe_device_query *query) = {
> - query_engines,
> + query_hw_engines,
> query_memory_usage,
> query_config,
> query_gts,
> diff --git a/drivers/gpu/drm/xe/xe_wait_user_fence.c b/drivers/gpu/drm/xe/xe_wait_user_fence.c
> index 15c2e5aa08d2..98b1ffd4a53e 100644
> --- a/drivers/gpu/drm/xe/xe_wait_user_fence.c
> +++ b/drivers/gpu/drm/xe/xe_wait_user_fence.c
> @@ -59,7 +59,7 @@ static const enum xe_engine_class user_to_xe_engine_class[] = {
> };
>
> static int check_hw_engines(struct xe_device *xe,
> - struct drm_xe_engine_class_instance *eci,
> + struct drm_xe_hw_engine_class_instance *eci,
> int num_engines)
> {
> int i;
> @@ -90,8 +90,8 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
> struct xe_device *xe = to_xe_device(dev);
> DEFINE_WAIT_FUNC(w_wait, woken_wake_function);
> struct drm_xe_wait_user_fence *args = data;
> - struct drm_xe_engine_class_instance eci[XE_HW_ENGINE_MAX_INSTANCE];
> - struct drm_xe_engine_class_instance __user *user_eci =
> + struct drm_xe_hw_engine_class_instance eci[XE_HW_ENGINE_MAX_INSTANCE];
> + struct drm_xe_hw_engine_class_instance __user *user_eci =
> u64_to_user_ptr(args->instances);
> struct xe_vm *vm = NULL;
> u64 addr = args->addr;
> @@ -122,7 +122,7 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
>
> if (!no_engines) {
> err = copy_from_user(eci, user_eci,
> - sizeof(struct drm_xe_engine_class_instance) *
> + sizeof(struct drm_xe_hw_engine_class_instance) *
> args->num_engines);
> if (XE_IOCTL_ERR(xe, err))
> return -EFAULT;
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 661d7929210c..89596d353d3e 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -136,7 +136,7 @@ struct xe_user_extension {
> #define DRM_IOCTL_XE_WAIT_USER_FENCE DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
> #define DRM_IOCTL_XE_VM_MADVISE DRM_IOW( DRM_COMMAND_BASE + DRM_XE_VM_MADVISE, struct drm_xe_vm_madvise)
>
> -struct drm_xe_engine_class_instance {
> +struct drm_xe_hw_engine_class_instance {
> __u16 engine_class;
>
> #define DRM_XE_ENGINE_CLASS_RENDER 0
> @@ -236,7 +236,7 @@ struct drm_xe_device_query {
> /** @query: The type of data to query */
> __u32 query;
>
> -#define DRM_XE_DEVICE_QUERY_ENGINES 0
> +#define DRM_XE_DEVICE_QUERY_HW_ENGINES 0
> #define DRM_XE_DEVICE_QUERY_MEM_USAGE 1
> #define DRM_XE_DEVICE_QUERY_CONFIG 2
> #define DRM_XE_DEVICE_QUERY_GTS 3
> @@ -559,7 +559,7 @@ struct drm_xe_engine_create {
>
> /**
> * @instances: user pointer to a 2-d array of struct
> - * drm_xe_engine_class_instance
> + * drm_xe_hw_engine_class_instance
> *
> * length = width (i) * num_placements (j)
> * index = j + i * width
> @@ -733,7 +733,7 @@ struct drm_xe_wait_user_fence {
> */
> __u64 num_engines;
> /**
> - * @instances: user pointer to array of drm_xe_engine_class_instance to
> + * @instances: user pointer to array of drm_xe_hw_engine_class_instance to
> * wait on, must be NULL when DRM_XE_UFENCE_WAIT_SOFT_OP set
> */
> __u64 instances;
More information about the Intel-xe
mailing list