[PATCH] no-seqno-barrier-gen7
Chris Wilson
chris at chris-wilson.co.uk
Sat Jun 9 12:28:35 UTC 2018
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 65811e2fa7da..6ece609db301 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -328,7 +328,7 @@ gen7_render_ring_flush(struct i915_request *rq, u32 mode)
gen7_render_ring_cs_stall_wa(rq);
}
- cs = intel_ring_begin(rq, 4);
+ cs = intel_ring_begin(rq, 8);
if (IS_ERR(cs))
return PTR_ERR(cs);
@@ -336,6 +336,13 @@ gen7_render_ring_flush(struct i915_request *rq, u32 mode)
*cs++ = flags;
*cs++ = scratch_addr;
*cs++ = 0;
+
+ *cs++ = MI_LOAD_REGISTER_MEM | MI_SRM_LRM_GLOBAL_GTT;
+ *cs++ = 0x243c;
+ *cs++ = scratch_addr;
+
+ *cs++ = MI_NOOP;
+
intel_ring_advance(rq, cs);
return 0;
@@ -2023,7 +2030,8 @@ static void intel_ring_init_irq(struct drm_i915_private *dev_priv,
if (INTEL_GEN(dev_priv) >= 6) {
engine->irq_enable = gen6_irq_enable;
engine->irq_disable = gen6_irq_disable;
- engine->irq_seqno_barrier = gen6_seqno_barrier;
+ if (INTEL_GEN(dev_priv) == 6)
+ engine->irq_seqno_barrier = gen6_seqno_barrier;
} else if (INTEL_GEN(dev_priv) >= 5) {
engine->irq_enable = gen5_irq_enable;
engine->irq_disable = gen5_irq_disable;
--
2.17.1
More information about the Intel-gfx-trybot
mailing list