Commit f937f561 authored by Tvrtko Ursulin's avatar Tvrtko Ursulin

drm/i915: Store backpointer to intel_gt in the engine

It will come useful in the next patch.

v2:
 * Do mock_engine as well.

v3:
 * And the virtual engine...
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-11-tvrtko.ursulin@linux.intel.com
parent d10cfee4
...@@ -316,6 +316,7 @@ intel_engine_setup(struct drm_i915_private *dev_priv, ...@@ -316,6 +316,7 @@ intel_engine_setup(struct drm_i915_private *dev_priv,
engine->id = id; engine->id = id;
engine->mask = BIT(id); engine->mask = BIT(id);
engine->i915 = dev_priv; engine->i915 = dev_priv;
engine->gt = &dev_priv->gt;
engine->uncore = &dev_priv->uncore; engine->uncore = &dev_priv->uncore;
__sprint_engine_name(engine->name, info); __sprint_engine_name(engine->name, info);
engine->hw_id = engine->guc_id = info->hw_id; engine->hw_id = engine->guc_id = info->hw_id;
......
...@@ -36,6 +36,7 @@ struct drm_i915_reg_table; ...@@ -36,6 +36,7 @@ struct drm_i915_reg_table;
struct i915_gem_context; struct i915_gem_context;
struct i915_request; struct i915_request;
struct i915_sched_attr; struct i915_sched_attr;
struct intel_gt;
struct intel_uncore; struct intel_uncore;
typedef u8 intel_engine_mask_t; typedef u8 intel_engine_mask_t;
...@@ -257,6 +258,7 @@ struct intel_engine_execlists { ...@@ -257,6 +258,7 @@ struct intel_engine_execlists {
struct intel_engine_cs { struct intel_engine_cs {
struct drm_i915_private *i915; struct drm_i915_private *i915;
struct intel_gt *gt;
struct intel_uncore *uncore; struct intel_uncore *uncore;
char name[INTEL_ENGINE_CS_MAX_NAME]; char name[INTEL_ENGINE_CS_MAX_NAME];
......
...@@ -3363,6 +3363,7 @@ intel_execlists_create_virtual(struct i915_gem_context *ctx, ...@@ -3363,6 +3363,7 @@ intel_execlists_create_virtual(struct i915_gem_context *ctx,
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
ve->base.i915 = ctx->i915; ve->base.i915 = ctx->i915;
ve->base.gt = siblings[0]->gt;
ve->base.id = -1; ve->base.id = -1;
ve->base.class = OTHER_CLASS; ve->base.class = OTHER_CLASS;
ve->base.uabi_class = I915_ENGINE_CLASS_INVALID; ve->base.uabi_class = I915_ENGINE_CLASS_INVALID;
......
...@@ -257,6 +257,7 @@ struct intel_engine_cs *mock_engine(struct drm_i915_private *i915, ...@@ -257,6 +257,7 @@ struct intel_engine_cs *mock_engine(struct drm_i915_private *i915,
/* minimal engine setup for requests */ /* minimal engine setup for requests */
engine->base.i915 = i915; engine->base.i915 = i915;
engine->base.gt = &i915->gt;
snprintf(engine->base.name, sizeof(engine->base.name), "%s", name); snprintf(engine->base.name, sizeof(engine->base.name), "%s", name);
engine->base.id = id; engine->base.id = id;
engine->base.mask = BIT(id); engine->base.mask = BIT(id);
......
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