[Intel-gfx] [PATCH] drm/i915/selftests: ring all doorbells in igt_guc_doorbells

Daniele Ceraolo Spurio daniele.ceraolospurio at intel.com
Tue Aug 28 16:16:46 UTC 2018


<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


More information about the Intel-gfx mailing list