|
@@ -2566,6 +2566,14 @@ void intel_ring_init_seqno(struct intel_engine_cs *engine, u32 seqno)
|
|
|
if (HAS_VEBOX(dev_priv))
|
|
|
I915_WRITE(RING_SYNC_2(engine->mmio_base), 0);
|
|
|
}
|
|
|
+ if (dev_priv->semaphore_obj) {
|
|
|
+ struct drm_i915_gem_object *obj = dev_priv->semaphore_obj;
|
|
|
+ struct page *page = i915_gem_object_get_dirty_page(obj, 0);
|
|
|
+ void *semaphores = kmap(page);
|
|
|
+ memset(semaphores + GEN8_SEMAPHORE_OFFSET(engine->id, 0),
|
|
|
+ 0, I915_NUM_ENGINES * gen8_semaphore_seqno_size);
|
|
|
+ kunmap(page);
|
|
|
+ }
|
|
|
memset(engine->semaphore.sync_seqno, 0,
|
|
|
sizeof(engine->semaphore.sync_seqno));
|
|
|
|