Commit 4ac9659e authored by Tvrtko Ursulin's avatar Tvrtko Ursulin

drm/i915: Remove duplicate intel_logical_ring_workarounds_emit

intel_ring_workarounds_emit is exactly the same code.
Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170214150017.16058-1-tvrtko.ursulin@linux.intel.com
parent bd64818d
...@@ -890,39 +890,6 @@ static int execlists_request_alloc(struct drm_i915_gem_request *request) ...@@ -890,39 +890,6 @@ static int execlists_request_alloc(struct drm_i915_gem_request *request)
return ret; return ret;
} }
static int intel_logical_ring_workarounds_emit(struct drm_i915_gem_request *req)
{
struct i915_workarounds *w = &req->i915->workarounds;
u32 *cs;
int ret, i;
if (w->count == 0)
return 0;
ret = req->engine->emit_flush(req, EMIT_BARRIER);
if (ret)
return ret;
cs = intel_ring_begin(req, w->count * 2 + 2);
if (IS_ERR(cs))
return PTR_ERR(cs);
*cs++ = MI_LOAD_REGISTER_IMM(w->count);
for (i = 0; i < w->count; i++) {
*cs++ = i915_mmio_reg_offset(w->reg[i].addr);
*cs++ = w->reg[i].value;
}
*cs++ = MI_NOOP;
intel_ring_advance(req, cs);
ret = req->engine->emit_flush(req, EMIT_BARRIER);
if (ret)
return ret;
return 0;
}
#define wa_ctx_emit(batch, index, cmd) \ #define wa_ctx_emit(batch, index, cmd) \
do { \ do { \
int __index = (index)++; \ int __index = (index)++; \
...@@ -1672,7 +1639,7 @@ static int gen8_init_rcs_context(struct drm_i915_gem_request *req) ...@@ -1672,7 +1639,7 @@ static int gen8_init_rcs_context(struct drm_i915_gem_request *req)
{ {
int ret; int ret;
ret = intel_logical_ring_workarounds_emit(req); ret = intel_ring_workarounds_emit(req);
if (ret) if (ret)
return ret; return ret;
......
...@@ -644,7 +644,7 @@ static void reset_ring_common(struct intel_engine_cs *engine, ...@@ -644,7 +644,7 @@ static void reset_ring_common(struct intel_engine_cs *engine,
} }
} }
static int intel_ring_workarounds_emit(struct drm_i915_gem_request *req) int intel_ring_workarounds_emit(struct drm_i915_gem_request *req)
{ {
struct i915_workarounds *w = &req->i915->workarounds; struct i915_workarounds *w = &req->i915->workarounds;
u32 *cs; u32 *cs;
......
...@@ -560,6 +560,7 @@ static inline u32 intel_engine_last_submit(struct intel_engine_cs *engine) ...@@ -560,6 +560,7 @@ static inline u32 intel_engine_last_submit(struct intel_engine_cs *engine)
} }
int init_workarounds_ring(struct intel_engine_cs *engine); int init_workarounds_ring(struct intel_engine_cs *engine);
int intel_ring_workarounds_emit(struct drm_i915_gem_request *req);
void intel_engine_get_instdone(struct intel_engine_cs *engine, void intel_engine_get_instdone(struct intel_engine_cs *engine,
struct intel_instdone *instdone); struct intel_instdone *instdone);
......
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