Commit f36c071f authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915/ringbuffer: Clear semaphore sync registers on ring init

Ensure that the sync registers are cleared every time we restart the
ring to avoid stale values from creeping in from random neutrinos.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108888


Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181203113701.12106-3-chris@chris-wilson.co.uk
parent f0ad62a6
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -529,6 +529,13 @@ static int init_ring_common(struct intel_engine_cs *engine)

	intel_engine_reset_breadcrumbs(engine);

	if (HAS_LEGACY_SEMAPHORES(engine->i915)) {
		I915_WRITE(RING_SYNC_0(engine->mmio_base), 0);
		I915_WRITE(RING_SYNC_1(engine->mmio_base), 0);
		if (HAS_VEBOX(dev_priv))
			I915_WRITE(RING_SYNC_2(engine->mmio_base), 0);
	}

	/* Enforce ordering by reading HEAD register back */
	I915_READ_HEAD(engine);