I like the changes, definitely simplifies things. >-----Original Message----- >From: Wajdeczko, Michal >Sent: Friday, March 31, 2017 4:57 AM >To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx >Cc: Wajdeczko, Michal <Michal.Wajdeczko@xxxxxxxxx>; Srivatsa, Anusha ><anusha.srivatsa@xxxxxxxxx>; Hiler, Arkadiusz <arkadiusz.hiler@xxxxxxxxx>; >Ursulin, Tvrtko <tvrtko.ursulin@xxxxxxxxx> >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@xxxxxxxxx> >Cc: Anusha Srivatsa <anusha.srivatsa@xxxxxxxxx> >Cc: Arkadiusz Hiler <arkadiusz.hiler@xxxxxxxxx> >Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Anusha Srivatsa <anusha.srivatsa@xxxxxxxxx> > 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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx