From: "Souza, Jose" <jose.souza@intel.com>
To: "dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"tvrtko.ursulin@linux.intel.com" <tvrtko.ursulin@linux.intel.com>,
"Intel-gfx@lists.freedesktop.org"
<Intel-gfx@lists.freedesktop.org>
Cc: "Nikula, Jani" <jani.nikula@intel.com>,
"Zanoni, Paulo R" <paulo.r.zanoni@intel.com>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
"Ursulin, Tvrtko" <tvrtko.ursulin@intel.com>,
"Ghuge, Sagar" <sagar.ghuge@intel.com>,
"Balasubrawmanian, Vivaik" <vivaik.balasubrawmanian@intel.com>,
"kenneth@whitecape.org" <kenneth@whitecape.org>,
"joonas.lahtinen@linux.intel.com"
<joonas.lahtinen@linux.intel.com>,
"Harrison, John C" <john.c.harrison@intel.com>
Subject: Re: [PATCH v2] drm/i915: Add GuC submission interface version query
Date: Thu, 8 Feb 2024 17:55:54 +0000 [thread overview]
Message-ID: <0c282ce6fd922ef2cad2bbf84b51214bb66a0411.camel@intel.com> (raw)
In-Reply-To: <5daf0215abaf92d9b34fef732d1be010d59bd69c.camel@intel.com>
On Thu, 2024-02-08 at 07:19 -0800, José Roberto de Souza wrote:
> On Thu, 2024-02-08 at 14:59 +0000, Tvrtko Ursulin wrote:
> > On 08/02/2024 14:30, Souza, Jose wrote:
> > > On Thu, 2024-02-08 at 08:25 +0000, Tvrtko Ursulin wrote:
> > > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > >
> > > > Add a new query to the GuC submission interface version.
> > > >
> > > > Mesa intends to use this information to check for old firmware versions
> > > > with a known bug where using the render and compute command streamers
> > > > simultaneously can cause GPU hangs due issues in firmware scheduling.
> > > >
> > > > Based on patches from Vivaik and Joonas.
> > > >
> > > > Compile tested only.
> > > >
> > > > v2:
> > > > * Added branch version.
> > >
> > > Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
> > > Tested-by: José Roberto de Souza <jose.souza@intel.com>
> > > UMD: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233
> >
> > Thanks, but please we also need to close down on the branch number
> > situation. I.e. be sure what is the failure mode in shipping Mesa with
> > the change as it stands in the MR linked. What platforms could start
> > failing and when, depending on GuC FW release eventualities.
>
> yes, I have asked John Harrison for a documentation link about the firmware versioning.
Got the documentation link, MR updated.
Will ask for reviews in Mesa side.
>
> >
> > Regards,
> >
> > Tvrtko
> >
> > > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > > Cc: Kenneth Graunke <kenneth@whitecape.org>
> > > > Cc: Jose Souza <jose.souza@intel.com>
> > > > Cc: Sagar Ghuge <sagar.ghuge@intel.com>
> > > > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > > > Cc: John Harrison <John.C.Harrison@Intel.com>
> > > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > Cc: Jani Nikula <jani.nikula@intel.com>
> > > > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > > > Cc: Vivaik Balasubrawmanian <vivaik.balasubrawmanian@intel.com>
> > > > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > > > ---
> > > > drivers/gpu/drm/i915/i915_query.c | 33 +++++++++++++++++++++++++++++++
> > > > include/uapi/drm/i915_drm.h | 12 +++++++++++
> > > > 2 files changed, 45 insertions(+)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/i915_query.c b/drivers/gpu/drm/i915/i915_query.c
> > > > index 00871ef99792..d4dba1240b40 100644
> > > > --- a/drivers/gpu/drm/i915/i915_query.c
> > > > +++ b/drivers/gpu/drm/i915/i915_query.c
> > > > @@ -551,6 +551,38 @@ static int query_hwconfig_blob(struct drm_i915_private *i915,
> > > > return hwconfig->size;
> > > > }
> > > >
> > > > +static int
> > > > +query_guc_submission_version(struct drm_i915_private *i915,
> > > > + struct drm_i915_query_item *query)
> > > > +{
> > > > + struct drm_i915_query_guc_submission_version __user *query_ptr =
> > > > + u64_to_user_ptr(query->data_ptr);
> > > > + struct drm_i915_query_guc_submission_version ver;
> > > > + struct intel_guc *guc = &to_gt(i915)->uc.guc;
> > > > + const size_t size = sizeof(ver);
> > > > + int ret;
> > > > +
> > > > + if (!intel_uc_uses_guc_submission(&to_gt(i915)->uc))
> > > > + return -ENODEV;
> > > > +
> > > > + ret = copy_query_item(&ver, size, size, query);
> > > > + if (ret != 0)
> > > > + return ret;
> > > > +
> > > > + if (ver.branch || ver.major || ver.minor || ver.patch)
> > > > + return -EINVAL;
> > > > +
> > > > + ver.branch = 0;
> > > > + ver.major = guc->submission_version.major;
> > > > + ver.minor = guc->submission_version.minor;
> > > > + ver.patch = guc->submission_version.patch;
> > > > +
> > > > + if (copy_to_user(query_ptr, &ver, size))
> > > > + return -EFAULT;
> > > > +
> > > > + return 0;
> > > > +}
> > > > +
> > > > static int (* const i915_query_funcs[])(struct drm_i915_private *dev_priv,
> > > > struct drm_i915_query_item *query_item) = {
> > > > query_topology_info,
> > > > @@ -559,6 +591,7 @@ static int (* const i915_query_funcs[])(struct drm_i915_private *dev_priv,
> > > > query_memregion_info,
> > > > query_hwconfig_blob,
> > > > query_geometry_subslices,
> > > > + query_guc_submission_version,
> > > > };
> > > >
> > > > int i915_query_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
> > > > diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
> > > > index 550c496ce76d..84fb7f7ea834 100644
> > > > --- a/include/uapi/drm/i915_drm.h
> > > > +++ b/include/uapi/drm/i915_drm.h
> > > > @@ -3038,6 +3038,7 @@ struct drm_i915_query_item {
> > > > * - %DRM_I915_QUERY_MEMORY_REGIONS (see struct drm_i915_query_memory_regions)
> > > > * - %DRM_I915_QUERY_HWCONFIG_BLOB (see `GuC HWCONFIG blob uAPI`)
> > > > * - %DRM_I915_QUERY_GEOMETRY_SUBSLICES (see struct drm_i915_query_topology_info)
> > > > + * - %DRM_I915_QUERY_GUC_SUBMISSION_VERSION (see struct drm_i915_query_guc_submission_version)
> > > > */
> > > > __u64 query_id;
> > > > #define DRM_I915_QUERY_TOPOLOGY_INFO 1
> > > > @@ -3046,6 +3047,7 @@ struct drm_i915_query_item {
> > > > #define DRM_I915_QUERY_MEMORY_REGIONS 4
> > > > #define DRM_I915_QUERY_HWCONFIG_BLOB 5
> > > > #define DRM_I915_QUERY_GEOMETRY_SUBSLICES 6
> > > > +#define DRM_I915_QUERY_GUC_SUBMISSION_VERSION 7
> > > > /* Must be kept compact -- no holes and well documented */
> > > >
> > > > /**
> > > > @@ -3591,6 +3593,16 @@ struct drm_i915_query_memory_regions {
> > > > struct drm_i915_memory_region_info regions[];
> > > > };
> > > >
> > > > +/**
> > > > +* struct drm_i915_query_guc_submission_version - query GuC submission interface version
> > > > +*/
> > > > +struct drm_i915_query_guc_submission_version {
> > > > + __u32 branch;
> > > > + __u32 major;
> > > > + __u32 minor;
> > > > + __u32 patch;
> > > > +};
> > > > +
> > > > /**
> > > > * DOC: GuC HWCONFIG blob uAPI
> > > > *
> > >
>
next prev parent reply other threads:[~2024-02-08 17:56 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-07 11:56 [RFC] drm/i915: Add GuC submission interface version query Tvrtko Ursulin
2024-02-07 15:09 ` Joonas Lahtinen
2024-02-07 15:54 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2024-02-07 15:54 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-07 16:12 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-07 18:12 ` [RFC] " John Harrison
2024-02-07 18:49 ` Tvrtko Ursulin
2024-02-07 19:34 ` John Harrison
2024-02-07 19:43 ` Souza, Jose
2024-02-07 19:52 ` John Harrison
2024-02-07 20:47 ` Souza, Jose
2024-02-07 21:16 ` John Harrison
2024-02-08 8:41 ` Tvrtko Ursulin
2024-02-08 17:46 ` John Harrison
2024-02-07 19:10 ` ✗ Fi.CI.IGT: failure for " Patchwork
2024-02-08 8:25 ` [PATCH v2] " Tvrtko Ursulin
2024-02-08 14:30 ` Souza, Jose
2024-02-08 14:59 ` Tvrtko Ursulin
2024-02-08 15:19 ` Souza, Jose
2024-02-08 17:55 ` Souza, Jose [this message]
2024-02-09 9:06 ` Tvrtko Ursulin
2024-02-13 19:38 ` Souza, Jose
2024-02-08 8:53 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add GuC submission interface version query (rev2) Patchwork
2024-02-08 8:53 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-08 9:10 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-02-14 9:11 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Add GuC submission interface version query (rev3) Patchwork
2024-02-14 9:11 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-14 9:23 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-14 11:46 ` ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0c282ce6fd922ef2cad2bbf84b51214bb66a0411.camel@intel.com \
--to=jose.souza@intel.com \
--cc=Intel-gfx@lists.freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=john.c.harrison@intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=kenneth@whitecape.org \
--cc=paulo.r.zanoni@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=sagar.ghuge@intel.com \
--cc=tvrtko.ursulin@intel.com \
--cc=tvrtko.ursulin@linux.intel.com \
--cc=vivaik.balasubrawmanian@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox