[Intel-xe] [RFC v1 16/17] drm/xe/uapi: Be more specific around GuC Version Type
Souza, Jose
jose.souza at intel.com
Wed Oct 11 14:15:36 UTC 2023
On Wed, 2023-10-11 at 13:59 +0000, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi at intel.com>
>
> Make it very clear and documented that it is about the submission
> version, and also what that actually means.
Reviewed-by: José Roberto de Souza <jose.souza at intel.com>
>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/xe/xe_query.c | 2 +-
> include/uapi/drm/xe_drm.h | 16 ++++++++++++++--
> 2 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index c5196abbd15d..e0c634c6d326 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -520,7 +520,7 @@ query_uc_fw_version(struct xe_device *xe, struct drm_xe_device_query *query)
> return -EINVAL;
>
> switch (resp.uc_type) {
> - case DRM_XE_QUERY_UC_TYPE_GUC: {
> + case DRM_XE_QUERY_UC_TYPE_GUC_SUBMISSION: {
> struct xe_guc *guc = &xe->tiles[0].primary_gt->uc.guc;
>
> resp.major_ver = guc->submission_state.version.major;
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 97e5f8f4aca3..31a46b32f315 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -468,11 +468,23 @@ struct drm_xe_query_topology_mask {
> *
> * Given a uc_type this will return the major, minor, patch and branch version
> * of the micro-controller firmware.
> + *
> + * The @uc_type can be:
> + * - %DRM_XE_QUERY_UC_TYPE_GUC_SUBMISSION - This is the GuC Submission Version,
> + * a.k.a 'VF version'. It is not the actual GuC blob version. A running GuC can
> + * support multiple VF APIs with different Submission Versions. This version is
> + * negotiated by the VF KMD with GuC during VF initialization. In most of the
> + * current available GuC blobs, this is a 1-1 relationship where the Submission
> + * version could be inferred from the running version and vice-versa. However,
> + * the submission version is the most useful information for the user space
> + * perspective and needs.
> + * - %DRM_XE_QUERY_TYPE_HUC - The actual HuC blob that is currently running
> + * in the platform. It returns 0 when HuC is not currently loaded.
> */
> struct drm_xe_query_uc_fw_version {
> /** @uc_type: The micro-controller type to query firmware version */
> -#define DRM_XE_QUERY_UC_TYPE_GUC 0
> -#define DRM_XE_QUERY_UC_TYPE_HUC 1
> +#define DRM_XE_QUERY_UC_TYPE_GUC_SUBMISSION 0
> +#define DRM_XE_QUERY_UC_TYPE_HUC 1
> __u16 uc_type;
>
> /** @pad: MBZ */
More information about the Intel-xe
mailing list