Commit cb1b7ad0 authored by Michal Wajdeczko's avatar Michal Wajdeczko Committed by Chris Wilson

drm/i915/uc: Drop explicit i915 param in some uc_fw functions

There is no need to pass explicit i915 since we already have
a debug trick to get parent gt from uc_fw, we only need to
make this trick available on non-debug builds.
Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20191211124549.59516-2-michal.wajdeczko@intel.com
parent 65c29dbb
...@@ -267,18 +267,17 @@ static void guc_disable_communication(struct intel_guc *guc) ...@@ -267,18 +267,17 @@ static void guc_disable_communication(struct intel_guc *guc)
void intel_uc_fetch_firmwares(struct intel_uc *uc) void intel_uc_fetch_firmwares(struct intel_uc *uc)
{ {
struct drm_i915_private *i915 = uc_to_gt(uc)->i915;
int err; int err;
if (!intel_uc_uses_guc(uc)) if (!intel_uc_uses_guc(uc))
return; return;
err = intel_uc_fw_fetch(&uc->guc.fw, i915); err = intel_uc_fw_fetch(&uc->guc.fw);
if (err) if (err)
return; return;
if (intel_uc_uses_huc(uc)) if (intel_uc_uses_huc(uc))
intel_uc_fw_fetch(&uc->huc.fw, i915); intel_uc_fw_fetch(&uc->huc.fw);
} }
void intel_uc_cleanup_firmwares(struct intel_uc *uc) void intel_uc_cleanup_firmwares(struct intel_uc *uc)
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include "intel_uc_fw_abi.h" #include "intel_uc_fw_abi.h"
#include "i915_drv.h" #include "i915_drv.h"
#ifdef CONFIG_DRM_I915_DEBUG_GUC
static inline struct intel_gt *__uc_fw_to_gt(struct intel_uc_fw *uc_fw) static inline struct intel_gt *__uc_fw_to_gt(struct intel_uc_fw *uc_fw)
{ {
GEM_BUG_ON(uc_fw->status == INTEL_UC_FIRMWARE_UNINITIALIZED); GEM_BUG_ON(uc_fw->status == INTEL_UC_FIRMWARE_UNINITIALIZED);
...@@ -22,6 +21,7 @@ static inline struct intel_gt *__uc_fw_to_gt(struct intel_uc_fw *uc_fw) ...@@ -22,6 +21,7 @@ static inline struct intel_gt *__uc_fw_to_gt(struct intel_uc_fw *uc_fw)
return container_of(uc_fw, struct intel_gt, uc.huc.fw); return container_of(uc_fw, struct intel_gt, uc.huc.fw);
} }
#ifdef CONFIG_DRM_I915_DEBUG_GUC
void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw, void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw,
enum intel_uc_fw_status status) enum intel_uc_fw_status status)
{ {
...@@ -219,10 +219,9 @@ void intel_uc_fw_init_early(struct intel_uc_fw *uc_fw, ...@@ -219,10 +219,9 @@ void intel_uc_fw_init_early(struct intel_uc_fw *uc_fw,
INTEL_UC_FIRMWARE_NOT_SUPPORTED); INTEL_UC_FIRMWARE_NOT_SUPPORTED);
} }
static void __force_fw_fetch_failures(struct intel_uc_fw *uc_fw, static void __force_fw_fetch_failures(struct intel_uc_fw *uc_fw, int e)
struct drm_i915_private *i915,
int e)
{ {
struct drm_i915_private *i915 = __uc_fw_to_gt(uc_fw)->i915;
bool user = e == -EINVAL; bool user = e == -EINVAL;
if (i915_inject_probe_error(i915, e)) { if (i915_inject_probe_error(i915, e)) {
...@@ -260,14 +259,14 @@ static void __force_fw_fetch_failures(struct intel_uc_fw *uc_fw, ...@@ -260,14 +259,14 @@ static void __force_fw_fetch_failures(struct intel_uc_fw *uc_fw,
/** /**
* intel_uc_fw_fetch - fetch uC firmware * intel_uc_fw_fetch - fetch uC firmware
* @uc_fw: uC firmware * @uc_fw: uC firmware
* @i915: device private
* *
* Fetch uC firmware into GEM obj. * Fetch uC firmware into GEM obj.
* *
* Return: 0 on success, a negative errno code on failure. * Return: 0 on success, a negative errno code on failure.
*/ */
int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw, struct drm_i915_private *i915) int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw)
{ {
struct drm_i915_private *i915 = __uc_fw_to_gt(uc_fw)->i915;
struct device *dev = i915->drm.dev; struct device *dev = i915->drm.dev;
struct drm_i915_gem_object *obj; struct drm_i915_gem_object *obj;
const struct firmware *fw = NULL; const struct firmware *fw = NULL;
...@@ -282,8 +281,8 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw, struct drm_i915_private *i915) ...@@ -282,8 +281,8 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw, struct drm_i915_private *i915)
if (err) if (err)
return err; return err;
__force_fw_fetch_failures(uc_fw, i915, -EINVAL); __force_fw_fetch_failures(uc_fw, -EINVAL);
__force_fw_fetch_failures(uc_fw, i915, -ESTALE); __force_fw_fetch_failures(uc_fw, -ESTALE);
err = request_firmware(&fw, uc_fw->path, dev); err = request_firmware(&fw, uc_fw->path, dev);
if (err) if (err)
......
...@@ -229,7 +229,7 @@ static inline u32 intel_uc_fw_get_upload_size(struct intel_uc_fw *uc_fw) ...@@ -229,7 +229,7 @@ static inline u32 intel_uc_fw_get_upload_size(struct intel_uc_fw *uc_fw)
void intel_uc_fw_init_early(struct intel_uc_fw *uc_fw, void intel_uc_fw_init_early(struct intel_uc_fw *uc_fw,
enum intel_uc_fw_type type, bool supported, enum intel_uc_fw_type type, bool supported,
enum intel_platform platform, u8 rev); enum intel_platform platform, u8 rev);
int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw, struct drm_i915_private *i915); int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw);
void intel_uc_fw_cleanup_fetch(struct intel_uc_fw *uc_fw); void intel_uc_fw_cleanup_fetch(struct intel_uc_fw *uc_fw);
int intel_uc_fw_upload(struct intel_uc_fw *uc_fw, struct intel_gt *gt, int intel_uc_fw_upload(struct intel_uc_fw *uc_fw, struct intel_gt *gt,
u32 wopcm_offset, u32 dma_flags); u32 wopcm_offset, u32 dma_flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment