Commit d10cfee4 authored by Tvrtko Ursulin's avatar Tvrtko Ursulin

drm/i915: Convert gt workarounds to intel_gt

More conversion of i915_gem_init_hw to uncore.
Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190621070811.7006-10-tvrtko.ursulin@linux.intel.com
parent cf6844b2
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "i915_drv.h" #include "i915_drv.h"
#include "intel_context.h" #include "intel_context.h"
#include "intel_gt.h"
#include "intel_workarounds.h" #include "intel_workarounds.h"
/** /**
...@@ -984,9 +985,9 @@ wa_list_apply(struct intel_uncore *uncore, const struct i915_wa_list *wal) ...@@ -984,9 +985,9 @@ wa_list_apply(struct intel_uncore *uncore, const struct i915_wa_list *wal)
spin_unlock_irqrestore(&uncore->lock, flags); spin_unlock_irqrestore(&uncore->lock, flags);
} }
void intel_gt_apply_workarounds(struct drm_i915_private *i915) void intel_gt_apply_workarounds(struct intel_gt *gt)
{ {
wa_list_apply(&i915->uncore, &i915->gt_wa_list); wa_list_apply(gt->uncore, &gt->i915->gt_wa_list);
} }
static bool wa_list_verify(struct intel_uncore *uncore, static bool wa_list_verify(struct intel_uncore *uncore,
...@@ -1005,10 +1006,9 @@ static bool wa_list_verify(struct intel_uncore *uncore, ...@@ -1005,10 +1006,9 @@ static bool wa_list_verify(struct intel_uncore *uncore,
return ok; return ok;
} }
bool intel_gt_verify_workarounds(struct drm_i915_private *i915, bool intel_gt_verify_workarounds(struct intel_gt *gt, const char *from)
const char *from)
{ {
return wa_list_verify(&i915->uncore, &i915->gt_wa_list, from); return wa_list_verify(gt->uncore, &gt->i915->gt_wa_list, from);
} }
static void static void
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
struct drm_i915_private; struct drm_i915_private;
struct i915_request; struct i915_request;
struct intel_engine_cs; struct intel_engine_cs;
struct intel_gt;
static inline void intel_wa_list_free(struct i915_wa_list *wal) static inline void intel_wa_list_free(struct i915_wa_list *wal)
{ {
...@@ -25,9 +26,8 @@ void intel_engine_init_ctx_wa(struct intel_engine_cs *engine); ...@@ -25,9 +26,8 @@ void intel_engine_init_ctx_wa(struct intel_engine_cs *engine);
int intel_engine_emit_ctx_wa(struct i915_request *rq); int intel_engine_emit_ctx_wa(struct i915_request *rq);
void intel_gt_init_workarounds(struct drm_i915_private *i915); void intel_gt_init_workarounds(struct drm_i915_private *i915);
void intel_gt_apply_workarounds(struct drm_i915_private *i915); void intel_gt_apply_workarounds(struct intel_gt *gt);
bool intel_gt_verify_workarounds(struct drm_i915_private *i915, bool intel_gt_verify_workarounds(struct intel_gt *gt, const char *from);
const char *from);
void intel_engine_init_whitelist(struct intel_engine_cs *engine); void intel_engine_init_whitelist(struct intel_engine_cs *engine);
void intel_engine_apply_whitelist(struct intel_engine_cs *engine); void intel_engine_apply_whitelist(struct intel_engine_cs *engine);
......
...@@ -1248,9 +1248,9 @@ int i915_gem_init_hw(struct drm_i915_private *dev_priv) ...@@ -1248,9 +1248,9 @@ int i915_gem_init_hw(struct drm_i915_private *dev_priv)
LOWER_SLICE_ENABLED : LOWER_SLICE_DISABLED); LOWER_SLICE_ENABLED : LOWER_SLICE_DISABLED);
/* Apply the GT workarounds... */ /* Apply the GT workarounds... */
intel_gt_apply_workarounds(dev_priv); intel_gt_apply_workarounds(&dev_priv->gt);
/* ...and determine whether they are sticking. */ /* ...and determine whether they are sticking. */
intel_gt_verify_workarounds(dev_priv, "init"); intel_gt_verify_workarounds(&dev_priv->gt, "init");
intel_gt_init_swizzling(&dev_priv->gt); intel_gt_init_swizzling(&dev_priv->gt);
......
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