[Intel-gfx] [PATCH] drm/i915/huc: Simplify intel_huc_init_hw()
Srivatsa, Anusha
anusha.srivatsa at intel.com
Mon Apr 3 18:51:10 UTC 2017
I like the changes, definitely simplifies things.
>-----Original Message-----
>From: Wajdeczko, Michal
>Sent: Friday, March 31, 2017 4:57 AM
>To: intel-gfx at lists.freedesktop.org
>Cc: Wajdeczko, Michal <Michal.Wajdeczko at intel.com>; Srivatsa, Anusha
><anusha.srivatsa at intel.com>; Hiler, Arkadiusz <arkadiusz.hiler at intel.com>;
>Ursulin, Tvrtko <tvrtko.ursulin at intel.com>
>Subject: [PATCH] drm/i915/huc: Simplify intel_huc_init_hw()
>
>On last guc/huc cleanup series we've simplified guc init hw function but missed
>the one for the huc. While here, change its signature as we don't care about huc
>loading status.
>
>Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
>Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
>Cc: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
>Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Reviewed-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
> drivers/gpu/drm/i915/intel_huc.c | 48 +++++++---------------------------------
> drivers/gpu/drm/i915/intel_uc.h | 2 +-
> 2 files changed, 9 insertions(+), 41 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/intel_huc.c b/drivers/gpu/drm/i915/intel_huc.c
>index 9ee8196..385cacb 100644
>--- a/drivers/gpu/drm/i915/intel_huc.c
>+++ b/drivers/gpu/drm/i915/intel_huc.c
>@@ -186,68 +186,36 @@ void intel_huc_select_fw(struct intel_huc *huc)
> * earlier call to intel_huc_init(), so here we need only check that
> * is succeeded, and then transfer the image to the h/w.
> *
>- * Return: non-zero code on error
> */
>-int intel_huc_init_hw(struct intel_huc *huc)
>+void intel_huc_init_hw(struct intel_huc *huc)
> {
> struct drm_i915_private *dev_priv = huc_to_i915(huc);
> int err;
>
>- if (huc->fw.fetch_status == INTEL_UC_FIRMWARE_NONE)
>- return 0;
>-
> DRM_DEBUG_DRIVER("%s fw status: fetch %s, load %s\n",
> huc->fw.path,
> intel_uc_fw_status_repr(huc->fw.fetch_status),
> intel_uc_fw_status_repr(huc->fw.load_status));
>
>- if (huc->fw.fetch_status == INTEL_UC_FIRMWARE_SUCCESS &&
>- huc->fw.load_status == INTEL_UC_FIRMWARE_FAIL)
>- return -ENOEXEC;
>+ if (huc->fw.fetch_status != INTEL_UC_FIRMWARE_SUCCESS)
>+ return;
>
> huc->fw.load_status = INTEL_UC_FIRMWARE_PENDING;
>
>- switch (huc->fw.fetch_status) {
>- case INTEL_UC_FIRMWARE_FAIL:
>- /* something went wrong :( */
>- err = -EIO;
>- goto fail;
>-
>- case INTEL_UC_FIRMWARE_NONE:
>- case INTEL_UC_FIRMWARE_PENDING:
>- default:
>- /* "can't happen" */
>- WARN_ONCE(1, "HuC fw %s invalid fetch_status %s [%d]\n",
>- huc->fw.path,
>- intel_uc_fw_status_repr(huc->fw.fetch_status),
>- huc->fw.fetch_status);
>- err = -ENXIO;
>- goto fail;
>-
>- case INTEL_UC_FIRMWARE_SUCCESS:
>- break;
>- }
>-
> err = huc_ucode_xfer(dev_priv);
>- if (err)
>- goto fail;
>
>- huc->fw.load_status = INTEL_UC_FIRMWARE_SUCCESS;
>+ huc->fw.load_status = err ?
>+ INTEL_UC_FIRMWARE_FAIL : INTEL_UC_FIRMWARE_SUCCESS;
>
> DRM_DEBUG_DRIVER("%s fw status: fetch %s, load %s\n",
> huc->fw.path,
> intel_uc_fw_status_repr(huc->fw.fetch_status),
> intel_uc_fw_status_repr(huc->fw.load_status));
>
>- return 0;
>-
>-fail:
>- if (huc->fw.load_status == INTEL_UC_FIRMWARE_PENDING)
>- huc->fw.load_status = INTEL_UC_FIRMWARE_FAIL;
>-
>- DRM_ERROR("Failed to complete HuC uCode load with ret %d\n", err);
>+ if (huc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)
>+ DRM_ERROR("Failed to complete HuC uCode load with ret
>%d\n", err);
>
>- return err;
>+ return;
> }
>
> /**
>diff --git a/drivers/gpu/drm/i915/intel_uc.h b/drivers/gpu/drm/i915/intel_uc.h
>index 4b7f73a..2f0229d 100644
>--- a/drivers/gpu/drm/i915/intel_uc.h
>+++ b/drivers/gpu/drm/i915/intel_uc.h
>@@ -266,7 +266,7 @@ static inline u32 guc_ggtt_offset(struct i915_vma *vma)
>
> /* intel_huc.c */
> void intel_huc_select_fw(struct intel_huc *huc); -int intel_huc_init_hw(struct
>intel_huc *huc);
>+void intel_huc_init_hw(struct intel_huc *huc);
> void intel_guc_auth_huc(struct drm_i915_private *dev_priv);
>
> #endif
>--
>2.7.4
More information about the Intel-gfx
mailing list