diff options
author | Arkadiusz Hiler <arkadiusz.hiler@intel.com> | 2017-03-14 17:28:09 +0300 |
---|---|---|
committer | Joonas Lahtinen <joonas.lahtinen@linux.intel.com> | 2017-03-15 15:26:30 +0300 |
commit | 29ad6a30de84f25f5ec8ac13c5d97b2fcc4bf605 (patch) | |
tree | 2b87cc51534524592cb5dea2b3702fdc4033d5c3 /drivers/gpu/drm/i915/intel_huc.c | |
parent | 4c0fed7911fab26c39ab1b125582f28ac3e5622a (diff) | |
download | linux-29ad6a30de84f25f5ec8ac13c5d97b2fcc4bf605.tar.xz |
drm/i915/uc: Introduce intel_uc_init_fw()
Instead of calling intel_guc_init() and intel_huc_init() one by one this
patch introduces intel_uc_init_fw() function that calls them both.
Called functions are renamed accordingly.
Trying to have subject_verb_object ordering and more descriptive names,
the intel_huc_init() and intel_guc_init() functions are renamed.
For guc_init():
* `intel_guc` is the subject, so those functions now take intel_guc
structure, instead of the dev_priv
* init is the verb
* fw is the object which better describes the function's role
huc_init() change follows the same reasoning.
v2: settle on intel_uc_fetch_fw name (M. Wajdeczko)
v3: yet another rename - intel_uc_init_fw (J. Lahtinen)
v4: non-trivial rebase
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michal Winiarski <michal.winiarski@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_huc.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_huc.c | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/drivers/gpu/drm/i915/intel_huc.c b/drivers/gpu/drm/i915/intel_huc.c index 36326cad332f..fda473db317e 100644 --- a/drivers/gpu/drm/i915/intel_huc.c +++ b/drivers/gpu/drm/i915/intel_huc.c @@ -141,8 +141,8 @@ static int huc_ucode_xfer(struct drm_i915_private *dev_priv) } /** - * intel_huc_init() - initiate HuC firmware loading request - * @dev_priv: the drm_i915_private device + * intel_huc_init_fw() - select and prepare firmware for loading + * @huc: intel_huc struct * * Called early during driver load, but after GEM is initialised. The loading * will continue only when driver explicitly specify firmware name and version. @@ -152,44 +152,45 @@ static int huc_ucode_xfer(struct drm_i915_private *dev_priv) * * The DMA-copying to HW is done later when intel_huc_init_hw() is called. */ -void intel_huc_init(struct drm_i915_private *dev_priv) +void intel_huc_init_fw(struct intel_huc *huc) { - struct intel_huc *huc = &dev_priv->huc; - struct intel_uc_fw *huc_fw = &huc->fw; + struct drm_i915_private *dev_priv = huc_to_i915(huc); const char *fw_path = NULL; - huc_fw->path = NULL; - huc_fw->fetch_status = INTEL_UC_FIRMWARE_NONE; - huc_fw->load_status = INTEL_UC_FIRMWARE_NONE; - huc_fw->fw = INTEL_UC_FW_TYPE_HUC; + huc->fw.path = NULL; + huc->fw.fetch_status = INTEL_UC_FIRMWARE_NONE; + huc->fw.load_status = INTEL_UC_FIRMWARE_NONE; + huc->fw.fw = INTEL_UC_FW_TYPE_HUC; if (!HAS_HUC_UCODE(dev_priv)) return; if (IS_SKYLAKE(dev_priv)) { fw_path = I915_SKL_HUC_UCODE; - huc_fw->major_ver_wanted = SKL_HUC_FW_MAJOR; - huc_fw->minor_ver_wanted = SKL_HUC_FW_MINOR; + huc->fw.major_ver_wanted = SKL_HUC_FW_MAJOR; + huc->fw.minor_ver_wanted = SKL_HUC_FW_MINOR; } else if (IS_BROXTON(dev_priv)) { fw_path = I915_BXT_HUC_UCODE; - huc_fw->major_ver_wanted = BXT_HUC_FW_MAJOR; - huc_fw->minor_ver_wanted = BXT_HUC_FW_MINOR; + huc->fw.major_ver_wanted = BXT_HUC_FW_MAJOR; + huc->fw.minor_ver_wanted = BXT_HUC_FW_MINOR; } else if (IS_KABYLAKE(dev_priv)) { fw_path = I915_KBL_HUC_UCODE; - huc_fw->major_ver_wanted = KBL_HUC_FW_MAJOR; - huc_fw->minor_ver_wanted = KBL_HUC_FW_MINOR; + huc->fw.major_ver_wanted = KBL_HUC_FW_MAJOR; + huc->fw.minor_ver_wanted = KBL_HUC_FW_MINOR; } - huc_fw->path = fw_path; + huc->fw.path = fw_path; - if (huc_fw->path == NULL) + if (fw_path == NULL) return; - huc_fw->fetch_status = INTEL_UC_FIRMWARE_PENDING; + huc->fw.fetch_status = INTEL_UC_FIRMWARE_PENDING; DRM_DEBUG_DRIVER("HuC firmware pending, path %s\n", fw_path); - intel_uc_prepare_fw(dev_priv, huc_fw); + WARN(huc->fw.path == NULL, "HuC present but no fw path\n"); + + intel_uc_prepare_fw(dev_priv, &huc->fw); } /** |