mirror of https://gitee.com/openkylin/linux.git
drm/i915: Convert gt workarounds to intel_gt
More conversion of i915_gem_init_hw to uncore. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190621070811.7006-10-tvrtko.ursulin@linux.intel.com
This commit is contained in:
parent
cf6844b234
commit
d10cfee4d8
|
@ -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)
|
||||||
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, >->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,
|
||||||
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, >->i915->gt_wa_list, from);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -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);
|
||||||
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)
|
||||||
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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue