<snip>

@@ -465,15 +468,19 @@ static void guc_wq_item_append(struct intel_guc_client *client,
      /* WQ starts from the page after doorbell / process_desc */
      wqi = client->vaddr + wq_off + GUC_DB_SIZE;
-    /* Now fill in the 4-word work queue item */
-    wqi->header = WQ_TYPE_INORDER |
-              (wqi_len << WQ_LEN_SHIFT) |
-              (target_engine << WQ_TARGET_SHIFT) |
-              WQ_NO_WCFLUSH_WAIT;
-    wqi->context_desc = context_desc;
-    wqi->submit_element_info = ring_tail << WQ_RING_TAIL_SHIFT;
-    GEM_BUG_ON(ring_tail > WQ_RING_TAIL_MAX);
-    wqi->fence_id = fence_id;
+    if (I915_SELFTEST_ONLY(client->use_nop_wqi)) {
+        wqi->header = WQ_TYPE_NOOP | (wqi_len << WQ_LEN_SHIFT);
Note to self, this is WQ_NOOP + three u32 with 0's


Actually we don't care what's in the 3 u32 following the header. When WQ_TYPE_NOOP is used GuC will just bump the WQ head based on the provided length and then move to the next request, so it is going to jump over them.

Daniele
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to