From: "Ceraolo Spurio, Daniele" <daniele.ceraolospurio@intel.com>
To: <John.C.Harrison@Intel.com>, <Intel-GFX@Lists.FreeDesktop.Org>
Cc: DRI-Devel@Lists.FreeDesktop.Org
Subject: Re: [Intel-gfx] [PATCH] drm/i915/uc: Fix table order verification to check all FW types
Date: Tue, 22 Nov 2022 18:08:10 -0800 [thread overview]
Message-ID: <720d9601-56c7-4c76-9ef4-a86d6b051e0c@intel.com> (raw)
In-Reply-To: <20221122233328.854217-1-John.C.Harrison@Intel.com>
On 11/22/2022 3:33 PM, John.C.Harrison@Intel.com wrote:
> From: John Harrison <John.C.Harrison@Intel.com>
>
> It was noticed that the table order verification step was only being
> run once rather than once per firmware type. Fix that.
>
> Note that the long term plan is to convert this code to be a mock
> selftest. It is already only compiled in when selftests are enabled.
> And the work involved in the conversion was estimated to be
> non-trivial. So that conversion is currently low on the priority list.
>
> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Daniele
> ---
> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> index 0c80ba51a4bdc..31613c7e0838b 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
> @@ -238,7 +238,7 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
> [INTEL_UC_FW_TYPE_GUC] = { blobs_guc, ARRAY_SIZE(blobs_guc) },
> [INTEL_UC_FW_TYPE_HUC] = { blobs_huc, ARRAY_SIZE(blobs_huc) },
> };
> - static bool verified;
> + static bool verified[INTEL_UC_FW_NUM_TYPES];
> const struct uc_fw_platform_requirement *fw_blobs;
> enum intel_platform p = INTEL_INFO(i915)->platform;
> u32 fw_count;
> @@ -291,8 +291,8 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
> }
>
> /* make sure the list is ordered as expected */
> - if (IS_ENABLED(CONFIG_DRM_I915_SELFTEST) && !verified) {
> - verified = true;
> + if (IS_ENABLED(CONFIG_DRM_I915_SELFTEST) && !verified[uc_fw->type]) {
> + verified[uc_fw->type] = true;
>
> for (i = 1; i < fw_count; i++) {
> /* Next platform is good: */
> @@ -343,7 +343,8 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
> continue;
>
> bad:
> - drm_err(&i915->drm, "Invalid FW blob order: %s r%u %s%d.%d.%d comes before %s r%u %s%d.%d.%d\n",
> + drm_err(&i915->drm, "Invalid %s blob order: %s r%u %s%d.%d.%d comes before %s r%u %s%d.%d.%d\n",
> + intel_uc_fw_type_repr(uc_fw->type),
> intel_platform_name(fw_blobs[i - 1].p), fw_blobs[i - 1].rev,
> fw_blobs[i - 1].blob.legacy ? "L" : "v",
> fw_blobs[i - 1].blob.major,
next prev parent reply other threads:[~2022-11-23 2:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-22 23:33 [Intel-gfx] [PATCH] drm/i915/uc: Fix table order verification to check all FW types John.C.Harrison
2022-11-23 1:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2022-11-23 2:08 ` Ceraolo Spurio, Daniele [this message]
2022-11-23 18:07 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=720d9601-56c7-4c76-9ef4-a86d6b051e0c@intel.com \
--to=daniele.ceraolospurio@intel.com \
--cc=DRI-Devel@Lists.FreeDesktop.Org \
--cc=Intel-GFX@Lists.FreeDesktop.Org \
--cc=John.C.Harrison@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