drm/i915/huc: Reorganize HuC authentication
Prepared intel_auth_huc to separate HuC specific functionality from GuC send action. Created new header intel_huc.h to group HuC specific declarations. v2: Changed argument preparation for AUTHENTICATE_HUC. s/intel_auth_huc/intel_huc_auth. Deferred creation of intel_huc.h to later patch. v3: Rebase as intel_guc.h is removed. Added param description to intel_huc_auth. (Michal) v4: Rebase as intel_guc.h is added again. :) v5: Rebase w.r.t removal of GuC code restructuring. v6-v7: Rebase. v8: Tagged subject as drm/i915/huc. (Michal Wajdeczko) Added kernel-doc description to intel_huc_auth and intel_guc_auth_huc. s/dev_priv/i915 and removed unnecessary variable offset. (Joonas) v9: Rebase. Had conflict with i915_modparams change. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1506410236-17926-1-git-send-email-sagar.a.kamble@intel.com
This commit is contained in:

committed by
Joonas Lahtinen

parent
ad0c167252
commit
9a2cbf2d7b
@@ -328,6 +328,27 @@ static void guc_disable_communication(struct intel_guc *guc)
|
||||
guc->send = intel_guc_send_nop;
|
||||
}
|
||||
|
||||
/**
|
||||
* intel_guc_auth_huc() - Send action to GuC to authenticate HuC ucode
|
||||
* @guc: intel_guc structure
|
||||
* @rsa_offset: rsa offset w.r.t ggtt base of huc vma
|
||||
*
|
||||
* Triggers a HuC firmware authentication request to the GuC via intel_guc_send
|
||||
* INTEL_GUC_ACTION_AUTHENTICATE_HUC interface. This function is invoked by
|
||||
* intel_huc_auth().
|
||||
*
|
||||
* Return: non-zero code on error
|
||||
*/
|
||||
int intel_guc_auth_huc(struct intel_guc *guc, u32 rsa_offset)
|
||||
{
|
||||
u32 action[] = {
|
||||
INTEL_GUC_ACTION_AUTHENTICATE_HUC,
|
||||
rsa_offset
|
||||
};
|
||||
|
||||
return intel_guc_send(guc, action, ARRAY_SIZE(action));
|
||||
}
|
||||
|
||||
int intel_uc_init_hw(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
struct intel_guc *guc = &dev_priv->guc;
|
||||
@@ -390,7 +411,7 @@ int intel_uc_init_hw(struct drm_i915_private *dev_priv)
|
||||
if (ret)
|
||||
goto err_log_capture;
|
||||
|
||||
intel_guc_auth_huc(dev_priv);
|
||||
intel_huc_auth(&dev_priv->huc);
|
||||
if (i915_modparams.enable_guc_submission) {
|
||||
if (i915_modparams.guc_log_level >= 0)
|
||||
gen9_enable_guc_interrupts(dev_priv);
|
||||
|
Reference in New Issue
Block a user