[PATCH i-g-t 1/2] drm-uapi/xe: Sync with topology query uapi updates
Cavitt, Jonathan
jonathan.cavitt at intel.com
Fri Jul 19 14:15:58 UTC 2024
-----Original Message-----
From: igt-dev <igt-dev-bounces at lists.freedesktop.org> On Behalf Of Lucas De Marchi
Sent: Friday, July 19, 2024 6:28 AM
To: igt-dev at lists.freedesktop.org
Cc: De Marchi, Lucas <lucas.demarchi at intel.com>
Subject: [PATCH i-g-t 1/2] drm-uapi/xe: Sync with topology query uapi updates
>
> Align with kernel commit 7108b4a589cd ("drm/xe/uapi: Expose SIMD16 EU
> mask in topology query") which adds one item to topology query.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
Aside from adding the DRM_XE_TOPO_SIMD16_EU_PER_DSS mask
type, seems to be mostly a change to the various comments. No
complaints.
Reviewed-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
-Jonathan Cavitt
> ---
> include/drm-uapi/xe_drm.h | 26 ++++++++++++++++++++------
> 1 file changed, 20 insertions(+), 6 deletions(-)
>
> diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
> index 3bab3fdaa..29425d7fd 100644
> --- a/include/drm-uapi/xe_drm.h
> +++ b/include/drm-uapi/xe_drm.h
> @@ -3,8 +3,8 @@
> * Copyright © 2023 Intel Corporation
> */
>
> -#ifndef _XE_DRM_H_
> -#define _XE_DRM_H_
> +#ifndef _UAPI_XE_DRM_H_
> +#define _UAPI_XE_DRM_H_
>
> #include "drm.h"
>
> @@ -134,7 +134,7 @@ extern "C" {
> * redefine the interface more easily than an ever growing struct of
> * increasing complexity, and for large parts of that interface to be
> * entirely optional. The downside is more pointer chasing; chasing across
> - * the boundary with pointers encapsulated inside u64.
> + * the __user boundary with pointers encapsulated inside u64.
> *
> * Example chaining:
> *
> @@ -517,7 +517,14 @@ struct drm_xe_query_gt_list {
> * available per Dual Sub Slices (DSS). For example a query response
> * containing the following in mask:
> * ``EU_PER_DSS ff ff 00 00 00 00 00 00``
> - * means each DSS has 16 EU.
> + * means each DSS has 16 SIMD8 EUs. This type may be omitted if device
> + * doesn't have SIMD8 EUs.
> + * - %DRM_XE_TOPO_SIMD16_EU_PER_DSS - To query the mask of SIMD16 Execution
> + * Units (EU) available per Dual Sub Slices (DSS). For example a query
> + * response containing the following in mask:
> + * ``SIMD16_EU_PER_DSS ff ff 00 00 00 00 00 00``
> + * means each DSS has 16 SIMD16 EUs. This type may be omitted if device
> + * doesn't have SIMD16 EUs.
> */
> struct drm_xe_query_topology_mask {
> /** @gt_id: GT ID the mask is associated with */
> @@ -527,6 +534,7 @@ struct drm_xe_query_topology_mask {
> #define DRM_XE_TOPO_DSS_COMPUTE 2
> #define DRM_XE_TOPO_L3_BANK 3
> #define DRM_XE_TOPO_EU_PER_DSS 4
> +#define DRM_XE_TOPO_SIMD16_EU_PER_DSS 5
> /** @type: type of mask */
> __u16 type;
>
> @@ -783,7 +791,13 @@ struct drm_xe_gem_create {
> #define DRM_XE_GEM_CPU_CACHING_WC 2
> /**
> * @cpu_caching: The CPU caching mode to select for this object. If
> - * mmaping the object the mode selected here will also be used.
> + * mmaping the object the mode selected here will also be used. The
> + * exception is when mapping system memory (including data evicted
> + * to system) on discrete GPUs. The caching mode selected will
> + * then be overridden to DRM_XE_GEM_CPU_CACHING_WB, and coherency
> + * between GPU- and CPU is guaranteed. The caching mode of
> + * existing CPU-mappings will be updated transparently to
> + * user-space clients.
> */
> __u16 cpu_caching;
> /** @pad: MBZ */
> @@ -1684,4 +1698,4 @@ struct drm_xe_oa_stream_info {
> }
> #endif
>
> -#endif /* _XE_DRM_H_ */
> +#endif /* _UAPI_XE_DRM_H_ */
> --
> 2.43.0
>
>
More information about the igt-dev
mailing list