}
 
 /**
- * intel_guc_setup() - finish preparing the GuC for activity
- * @dev_priv:  i915 device private
+ * intel_guc_init_hw() - finish preparing the GuC for activity
+ * @guc: intel_guc structure
  *
- * Called from gem_init_hw() during driver loading and also after a GPU reset.
+ * Called during driver loading and also after a GPU reset.
  *
  * The main action required here it to load the GuC uCode into the device.
  * The firmware image should have already been fetched into memory by the
- * earlier call to intel_guc_init(), so here we need only check that worked,
- * and then transfer the image to the h/w.
+ * earlier call to intel_guc_init(), so here we need only check that
+ * worked, and then transfer the image to the h/w.
  *
  * Return:     non-zero code on error
  */
-int intel_guc_setup(struct drm_i915_private *dev_priv)
+int intel_guc_init_hw(struct intel_guc *guc)
 {
-       struct intel_uc_fw *guc_fw = &dev_priv->guc.fw;
-       const char *fw_path = guc_fw->path;
+       struct drm_i915_private *dev_priv = guc_to_i915(guc);
+       const char *fw_path = guc->fw.path;
        int retries, ret, err;
 
        DRM_DEBUG_DRIVER("GuC fw status: path %s, fetch %s, load %s\n",
                fw_path,
-               intel_uc_fw_status_repr(guc_fw->fetch_status),
-               intel_uc_fw_status_repr(guc_fw->load_status));
+               intel_uc_fw_status_repr(guc->fw.fetch_status),
+               intel_uc_fw_status_repr(guc->fw.load_status));
 
        /* Loading forbidden, or no firmware to load? */
        if (!i915.enable_guc_loading) {
        }
 
        /* Fetch failed, or already fetched but failed to load? */
-       if (guc_fw->fetch_status != INTEL_UC_FIRMWARE_SUCCESS) {
+       if (guc->fw.fetch_status != INTEL_UC_FIRMWARE_SUCCESS) {
                err = -EIO;
                goto fail;
-       } else if (guc_fw->load_status == INTEL_UC_FIRMWARE_FAIL) {
+       } else if (guc->fw.load_status == INTEL_UC_FIRMWARE_FAIL) {
                err = -ENOEXEC;
                goto fail;
        }
        /* We need to notify the guc whenever we change the GGTT */
        i915_ggtt_enable_guc(dev_priv);
 
-       guc_fw->load_status = INTEL_UC_FIRMWARE_PENDING;
+       guc->fw.load_status = INTEL_UC_FIRMWARE_PENDING;
 
        DRM_DEBUG_DRIVER("GuC fw status: fetch %s, load %s\n",
-               intel_uc_fw_status_repr(guc_fw->fetch_status),
-               intel_uc_fw_status_repr(guc_fw->load_status));
+               intel_uc_fw_status_repr(guc->fw.fetch_status),
+               intel_uc_fw_status_repr(guc->fw.load_status));
 
        err = i915_guc_submission_init(dev_priv);
        if (err)
                if (err)
                        goto fail;
 
-               intel_huc_load(dev_priv);
+               intel_huc_init_hw(&dev_priv->huc);
                err = guc_ucode_xfer(dev_priv);
                if (!err)
                        break;
                         "retry %d more time(s)\n", err, retries);
        }
 
-       guc_fw->load_status = INTEL_UC_FIRMWARE_SUCCESS;
+       guc->fw.load_status = INTEL_UC_FIRMWARE_SUCCESS;
 
        intel_guc_auth_huc(dev_priv);
 
 
        DRM_INFO("GuC %s (firmware %s [version %u.%u])\n",
                 i915.enable_guc_submission ? "submission enabled" : "loaded",
-                guc_fw->path,
-                guc_fw->major_ver_found, guc_fw->minor_ver_found);
+                guc->fw.path,
+                guc->fw.major_ver_found, guc->fw.minor_ver_found);
 
        return 0;
 
 fail:
-       if (guc_fw->load_status == INTEL_UC_FIRMWARE_PENDING)
-               guc_fw->load_status = INTEL_UC_FIRMWARE_FAIL;
+       if (guc->fw.load_status == INTEL_UC_FIRMWARE_PENDING)
+               guc->fw.load_status = INTEL_UC_FIRMWARE_FAIL;
 
        i915_guc_submission_disable(dev_priv);
        i915_guc_submission_fini(dev_priv);
  * Called early during driver load, but after GEM is initialised.
  *
  * The firmware will be transferred to the GuC's memory later,
- * when intel_guc_setup() is called.
+ * when intel_guc_init_hw() is called.
  */
 void intel_guc_init(struct drm_i915_private *dev_priv)
 {
 
  * is not capable or driver yet support it. And there will be no error message
  * for INTEL_UC_FIRMWARE_NONE cases.
  *
- * The DMA-copying to HW is done later when intel_huc_load() is called.
+ * 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)
 {
 }
 
 /**
- * intel_huc_load() - load HuC uCode to device
- * @dev_priv: the drm_i915_private device
+ * intel_huc_init_hw() - load HuC uCode to device
+ * @huc: intel_huc structure
  *
  * Called from guc_setup() during driver loading and also after a GPU reset.
  * Be note that HuC loading must be done before GuC loading.
  *
  * Return:     non-zero code on error
  */
-int intel_huc_load(struct drm_i915_private *dev_priv)
+int intel_huc_init_hw(struct intel_huc *huc)
 {
-       struct intel_uc_fw *huc_fw = &dev_priv->huc.fw;
+       struct drm_i915_private *dev_priv = huc_to_i915(huc);
        int err;
 
-       if (huc_fw->fetch_status == INTEL_UC_FIRMWARE_NONE)
+       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));
+               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)
+       if (huc->fw.fetch_status == INTEL_UC_FIRMWARE_SUCCESS &&
+           huc->fw.load_status == INTEL_UC_FIRMWARE_FAIL)
                return -ENOEXEC;
 
-       huc_fw->load_status = INTEL_UC_FIRMWARE_PENDING;
+       huc->fw.load_status = INTEL_UC_FIRMWARE_PENDING;
 
-       switch (huc_fw->fetch_status) {
+       switch (huc->fw.fetch_status) {
        case INTEL_UC_FIRMWARE_FAIL:
                /* something went wrong :( */
                err = -EIO;
        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);
+                       huc->fw.path,
+                       intel_uc_fw_status_repr(huc->fw.fetch_status),
+                       huc->fw.fetch_status);
                err = -ENXIO;
                goto fail;
 
        if (err)
                goto fail;
 
-       huc_fw->load_status = INTEL_UC_FIRMWARE_SUCCESS;
+       huc->fw.load_status = 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));
+               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;
+       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);