Re: [Intel-gfx] [PATCH 01/18] drm/i915: Unify intel_logical_ring_emit and intel_ring_emit

2016-07-21 Thread Chris Wilson
On Thu, Jul 21, 2016 at 02:26:19PM +0300, Joonas Lahtinen wrote:
> On ke, 2016-07-20 at 14:11 +0100, Chris Wilson wrote:
> > Both perform the same actions with more or less indirection, so just
> > unify the code.
> > 
> 
> Don't really like removing the engine = req->engine aliases, but seems
> like req->engine is used plenty already. And assuming this was a
> mechanical change with no hidden functional changes. Then,

I've added some engine = req->engine where there was repetition within
the funcion.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH 01/18] drm/i915: Unify intel_logical_ring_emit and intel_ring_emit

2016-07-21 Thread Joonas Lahtinen
On ke, 2016-07-20 at 14:11 +0100, Chris Wilson wrote:
> Both perform the same actions with more or less indirection, so just
> unify the code.
> 

Don't really like removing the engine = req->engine aliases, but seems
like req->engine is used plenty already. And assuming this was a
mechanical change with no hidden functional changes. Then,

Reviewed-by: Joonas Lahtinen 

Regards, Joonas
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 01/18] drm/i915: Unify intel_logical_ring_emit and intel_ring_emit

2016-07-20 Thread Chris Wilson
Both perform the same actions with more or less indirection, so just
unify the code.

Signed-off-by: Chris Wilson 
---
 drivers/gpu/drm/i915/i915_gem_context.c|  54 ++--
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |  53 ++--
 drivers/gpu/drm/i915/i915_gem_gtt.c|  62 ++---
 drivers/gpu/drm/i915/intel_display.c   |  80 +++---
 drivers/gpu/drm/i915/intel_lrc.c   | 184 +++---
 drivers/gpu/drm/i915/intel_lrc.h   |  26 --
 drivers/gpu/drm/i915/intel_mocs.c  |  38 ++-
 drivers/gpu/drm/i915/intel_overlay.c   |  50 ++--
 drivers/gpu/drm/i915/intel_ringbuffer.c| 387 +++--
 drivers/gpu/drm/i915/intel_ringbuffer.h|  25 +-
 10 files changed, 463 insertions(+), 496 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c 
b/drivers/gpu/drm/i915/i915_gem_context.c
index bd13d084e19c..b6d10bd763a0 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -552,7 +552,7 @@ static inline int
 mi_set_context(struct drm_i915_gem_request *req, u32 hw_flags)
 {
struct drm_i915_private *dev_priv = req->i915;
-   struct intel_engine_cs *engine = req->engine;
+   struct intel_ringbuffer *ring = req->ringbuf;
u32 flags = hw_flags | MI_MM_SPACE_GTT;
const int num_rings =
/* Use an extended w/a on ivb+ if signalling from other rings */
@@ -567,7 +567,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 
hw_flags)
 * itlb_before_ctx_switch.
 */
if (IS_GEN6(dev_priv)) {
-   ret = engine->flush(req, I915_GEM_GPU_DOMAINS, 0);
+   ret = req->engine->flush(req, I915_GEM_GPU_DOMAINS, 0);
if (ret)
return ret;
}
@@ -589,64 +589,64 @@ mi_set_context(struct drm_i915_gem_request *req, u32 
hw_flags)
 
/* WaProgramMiArbOnOffAroundMiSetContext:ivb,vlv,hsw,bdw,chv */
if (INTEL_GEN(dev_priv) >= 7) {
-   intel_ring_emit(engine, MI_ARB_ON_OFF | MI_ARB_DISABLE);
+   intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE);
if (num_rings) {
struct intel_engine_cs *signaller;
 
-   intel_ring_emit(engine,
+   intel_ring_emit(ring,
MI_LOAD_REGISTER_IMM(num_rings));
for_each_engine(signaller, dev_priv) {
-   if (signaller == engine)
+   if (signaller == req->engine)
continue;
 
-   intel_ring_emit_reg(engine,
+   intel_ring_emit_reg(ring,

RING_PSMI_CTL(signaller->mmio_base));
-   intel_ring_emit(engine,
+   intel_ring_emit(ring,

_MASKED_BIT_ENABLE(GEN6_PSMI_SLEEP_MSG_DISABLE));
}
}
}
 
-   intel_ring_emit(engine, MI_NOOP);
-   intel_ring_emit(engine, MI_SET_CONTEXT);
-   intel_ring_emit(engine,
+   intel_ring_emit(ring, MI_NOOP);
+   intel_ring_emit(ring, MI_SET_CONTEXT);
+   intel_ring_emit(ring,
i915_gem_obj_ggtt_offset(req->ctx->engine[RCS].state) |
flags);
/*
 * w/a: MI_SET_CONTEXT must always be followed by MI_NOOP
 * WaMiSetContext_Hang:snb,ivb,vlv
 */
-   intel_ring_emit(engine, MI_NOOP);
+   intel_ring_emit(ring, MI_NOOP);
 
if (INTEL_GEN(dev_priv) >= 7) {
if (num_rings) {
struct intel_engine_cs *signaller;
i915_reg_t last_reg = {}; /* keep gcc quiet */
 
-   intel_ring_emit(engine,
+   intel_ring_emit(ring,
MI_LOAD_REGISTER_IMM(num_rings));
for_each_engine(signaller, dev_priv) {
-   if (signaller == engine)
+   if (signaller == req->engine)
continue;
 
last_reg = RING_PSMI_CTL(signaller->mmio_base);
-   intel_ring_emit_reg(engine, last_reg);
-   intel_ring_emit(engine,
+   intel_ring_emit_reg(ring, last_reg);
+   intel_ring_emit(ring,

_MASKED_BIT_DISABLE(GEN6_PSMI_SLEEP_MSG_DISABLE));
}
 
/* Insert a delay before the next switch! */
-   intel_ring_emit(engine,
+   intel_ring_emit(ring,
MI_STORE_REGISTER_MEM |