[Intel-gfx] [PATCH v3] drm/i915/selftest/gsc: Ensure GSC Proxy init completes before selftests

Ceraolo Spurio, Daniele daniele.ceraolospurio at intel.com
Tue Jul 11 18:49:59 UTC 2023


<snip>
>>> @@ -134,6 +193,8 @@ static int __run_selftests(const char *name,
>>>    {
>>>    	int err = 0;
>>>    
>>> +	__wait_on_all_system_dependencies(data);
>> Why does this need to be top level selftests and not just a wait for
>> intel_gsc_uc_fw_proxy_init_done in the tests where it is relevant, via
>> some helper or something?
> Alan: it was an offline decision because we didn't want to repeat
> the same check for all permutations of selftests' subtests (i.e. considering
> module params can dictate to skip some subtests but execute others).
>
> Anyways, let me get back to you on how how many selftests' subtests actually excercise the
> need for proxy-init to complete - if its just 1-to-2 subtest I'll move the remove the code
> from here and move them into the individual subtests.

I don't think it is going to be easy to figure out which selftest are 
impacted. All selftests looping on all engines of course, but also tests 
triggering GT resets and/or messing with the system in other ways. Any 
new tests added will also need to be evaluated.

IMO there is minimal impact of having this check on every test. When 
running selftests we load i915 after the rest of the system has already 
fully booted, so there are no delays in getting the mei component up and 
therefore proxy init is sometimes completed even before the selftest 
code starts; when we do have to wait, it's usually for a very short 
time, because the expected total execution time for the GSC worker when 
not having to wait for the mei component to load is ~750ms (~200ms for 
GSC load + 20ms for HuC auth + ~500ms for proxy init). Having a few 
seconds added to the total selftests runtime is IMO a better option that 
having to maintain a list of impacted tests.

Daniele



More information about the dri-devel mailing list