Re: [Intel-gfx] [PATCH] drm/i915/huc: Normalize HuC status returned by I915_PARAM_HAS_HUC
Quoting Michal Wajdeczko (2018-10-16 12:34:14) > In response for I915_PARAM_HAS_HUC we are returning value that > indicates if HuC firmware was loaded and verified. However, our > previously used positive value was based on specific register bit > which is about to change on future platform. Let's normalize our > return values to 0 and 1 before clients will start to use Gen9 value. > > Signed-off-by: Michal Wajdeczko > Cc: Michal Winiarski > Cc: Joonas Lahtinen > Cc: Haihao Xiang > --- > drivers/gpu/drm/i915/intel_huc.c | 9 + > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_huc.c > b/drivers/gpu/drm/i915/intel_huc.c > index 37ef540d..46498aa 100644 > --- a/drivers/gpu/drm/i915/intel_huc.c > +++ b/drivers/gpu/drm/i915/intel_huc.c > @@ -108,8 +108,9 @@ int intel_huc_auth(struct intel_huc *huc) > * This function reads status register to verify if HuC > * firmware was successfully loaded. > * > - * Returns positive value if HuC firmware is loaded and verified > - * and -ENODEV if HuC is not present. > + * Returns: 1 if HuC firmware is loaded and verified, > + * 0 if HuC firmware is not loaded and -ENODEV if HuC > + * is not present on this platform. > */ > int intel_huc_check_status(struct intel_huc *huc) > { > @@ -120,8 +121,8 @@ 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; > + status = I915_READ(HUC_STATUS2); > intel_runtime_pm_put(dev_priv); > > - return status; > + return status & HUC_FW_VERIFIED ? 1 : 0; Wouldn't it have been simpler to just change u32 status to bool status Then I wouldn't even have to look at a ternary for a boolean. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/huc: Normalize HuC status returned by I915_PARAM_HAS_HUC
On Tue, Oct 16, 2018 at 11:34:14AM +, Michal Wajdeczko wrote: > In response for I915_PARAM_HAS_HUC we are returning value that > indicates if HuC firmware was loaded and verified. However, our > previously used positive value was based on specific register bit > which is about to change on future platform. Let's normalize our > return values to 0 and 1 before clients will start to use Gen9 value. > > Signed-off-by: Michal Wajdeczko > Cc: Michal Winiarski > Cc: Joonas Lahtinen > Cc: Haihao Xiang It's "tweaking" the ABI, but hopefully we can avoid breaking anything. intel-vaapi-driver is doing !!(getparam) and media-driver is being optimistic (i.e. assuming that HuC is present without any checks). I don't know of any other components using this, and as you've mentioned in the commit message - HuC is still under unsafe param, so: Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/i915/intel_huc.c | 9 + > 1 file changed, 5 insertions(+), 4 deletions(-) ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915/huc: Normalize HuC status returned by I915_PARAM_HAS_HUC
In response for I915_PARAM_HAS_HUC we are returning value that indicates if HuC firmware was loaded and verified. However, our previously used positive value was based on specific register bit which is about to change on future platform. Let's normalize our return values to 0 and 1 before clients will start to use Gen9 value. Signed-off-by: Michal Wajdeczko Cc: Michal Winiarski Cc: Joonas Lahtinen Cc: Haihao Xiang --- drivers/gpu/drm/i915/intel_huc.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_huc.c b/drivers/gpu/drm/i915/intel_huc.c index 37ef540d..46498aa 100644 --- a/drivers/gpu/drm/i915/intel_huc.c +++ b/drivers/gpu/drm/i915/intel_huc.c @@ -108,8 +108,9 @@ int intel_huc_auth(struct intel_huc *huc) * This function reads status register to verify if HuC * firmware was successfully loaded. * - * Returns positive value if HuC firmware is loaded and verified - * and -ENODEV if HuC is not present. + * Returns: 1 if HuC firmware is loaded and verified, + * 0 if HuC firmware is not loaded and -ENODEV if HuC + * is not present on this platform. */ int intel_huc_check_status(struct intel_huc *huc) { @@ -120,8 +121,8 @@ 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; + status = I915_READ(HUC_STATUS2); intel_runtime_pm_put(dev_priv); - return status; + return status & HUC_FW_VERIFIED ? 1 : 0; } -- 1.9.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx