From: John Spotswood <john.a.spotswood@intel.com>
To: Oscar Mateo <oscar.mateo@intel.com>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 4/5] drm/i915/icl/huc: Correctly authenticate the HuC for Icelake
Date: Tue, 08 May 2018 16:22:54 -0700 [thread overview]
Message-ID: <1525821774.3618.17.camel@intel.com> (raw)
In-Reply-To: <1525287804-2071-5-git-send-email-oscar.mateo@intel.com>
On Wed, 2018-05-02 at 12:03 -0700, Oscar Mateo wrote:
> The register to check for correct HuC authentication by the GuC
> has changed in Icelake. Look into the right register & bit.
>
> v2: rebased.
> v3: rebased.
> v4: Fix I915_PARAM_HUC_STATUS as well (Tony)
> v5: Fix duplicate Cc
>
> BSpec: 19686
>
> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
> Cc: Tony Ye <tony.ye@intel.com>
> Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
> Cc: Michel Thierry <michel.thierry@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: John Spotswood <john.a.spotswood@intel.com>
Reviewed-by: John Spotswood <john.a.spotswood@intel.com>
> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> ---
> drivers/gpu/drm/i915/intel_guc_reg.h | 3 +++
> drivers/gpu/drm/i915/intel_huc.c | 23 +++++++++++++++++++----
> 2 files changed, 22 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_guc_reg.h
> b/drivers/gpu/drm/i915/intel_guc_reg.h
> index d860847..9f14f9f 100644
> --- a/drivers/gpu/drm/i915/intel_guc_reg.h
> +++ b/drivers/gpu/drm/i915/intel_guc_reg.h
> @@ -76,6 +76,9 @@
> #define HUC_STATUS2 _MMIO(0xD3B0)
> #define HUC_FW_VERIFIED (1<<7)
>
> +#define HUC_KERNEL_LOAD_INFO _MMIO(0xC1DC)
> +#define HUC_LOAD_SUCCESSFUL (1 << 0)
> +
> #define GUC_WOPCM_SIZE _MMIO(0xc050)
> #define GUC_WOPCM_SIZE_LOCKED (1<<0)
> #define GUC_WOPCM_SIZE_SHIFT 12
> diff --git a/drivers/gpu/drm/i915/intel_huc.c
> b/drivers/gpu/drm/i915/intel_huc.c
> index 2912852..b509756 100644
> --- a/drivers/gpu/drm/i915/intel_huc.c
> +++ b/drivers/gpu/drm/i915/intel_huc.c
> @@ -48,9 +48,19 @@ int intel_huc_auth(struct intel_huc *huc)
> struct drm_i915_private *i915 = huc_to_i915(huc);
> struct intel_guc *guc = &i915->guc;
> struct i915_vma *vma;
> + i915_reg_t status_reg;
> u32 status;
> + u32 status_ok;
> int ret;
>
> + if (INTEL_GEN(i915) >= 11) {
> + status_reg = HUC_KERNEL_LOAD_INFO;
> + status_ok = HUC_LOAD_SUCCESSFUL;
> + } else {
> + status_reg = HUC_STATUS2;
> + status_ok = HUC_FW_VERIFIED;
> + }
> +
> if (huc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)
> return -ENOEXEC;
>
> @@ -72,9 +82,9 @@ int intel_huc_auth(struct intel_huc *huc)
>
> /* Check authentication status, it should be done by now */
> ret = __intel_wait_for_register(i915,
> - HUC_STATUS2,
> - HUC_FW_VERIFIED,
> - HUC_FW_VERIFIED,
> + status_reg,
> + status_ok,
> + status_ok,
> 2, 50, &status);
> if (ret) {
> DRM_ERROR("HuC: Firmware not verified %#x\n",
> status);
> @@ -112,7 +122,12 @@ int intel_huc_check_status(struct intel_huc
> *huc)
> return -ENODEV;
>
> intel_runtime_pm_get(dev_priv);
> - status = I915_READ(HUC_STATUS2) & HUC_FW_VERIFIED;
> +
> + if (INTEL_GEN(dev_priv) >= 11)
> + status = I915_READ(HUC_KERNEL_LOAD_INFO) &
> HUC_LOAD_SUCCESSFUL;
> + else
> + status = I915_READ(HUC_STATUS2) & HUC_FW_VERIFIED;
> +
> intel_runtime_pm_put(dev_priv);
>
> return status;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-05-08 23:22 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-02 19:03 [PATCH v2 0/8] Enable HuC authentication in Icelake Oscar Mateo
2018-05-02 19:03 ` [PATCH 1/5] drm/i915/icl/guc: Do not allow GuC submission on Icelake for now Oscar Mateo
2018-05-08 23:21 ` John Spotswood
2018-05-02 19:03 ` [PATCH 2/5] drm/i915/icl/guc: Pass the bare minimum GuC init parameters for Icelake Oscar Mateo
2018-05-08 23:22 ` John Spotswood
2018-05-02 19:03 ` [PATCH 3/5] drm/i915/icl/guc: Define the GuC firmware version " Oscar Mateo
2018-05-08 23:22 ` John Spotswood
2018-05-02 19:03 ` [PATCH 4/5] drm/i915/icl/huc: Correctly authenticate the HuC " Oscar Mateo
2018-05-04 22:26 ` John Spotswood
2018-05-08 21:36 ` Oscar Mateo
2018-05-08 23:22 ` John Spotswood [this message]
2018-05-02 19:03 ` [PATCH 5/5] drm/i915/icl/huc: Define the HuC firmware version " Oscar Mateo
2018-05-08 23:23 ` John Spotswood
2018-05-02 19:34 ` ✓ Fi.CI.BAT: success for Enable HuC authentication in Icelake (rev2) Patchwork
2018-05-02 19:44 ` [PATCH v2 0/8] Enable HuC authentication in Icelake Oscar Mateo Lozano
2018-05-03 2:13 ` ✗ Fi.CI.IGT: failure for Enable HuC authentication in Icelake (rev2) Patchwork
-- strict thread matches above, loose matches on Subject: below --
2018-04-27 21:31 [PATCH 0/5] Enable HuC authentication in Icelake Oscar Mateo
2018-04-27 21:31 ` [PATCH 4/5] drm/i915/icl/huc: Correctly authenticate the HuC for Icelake Oscar Mateo
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=1525821774.3618.17.camel@intel.com \
--to=john.a.spotswood@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=oscar.mateo@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.