[igt-dev] [PATCH i-g-t 2/2] lib/igt_kmod: Unload mei modules before unloading i915

Ceraolo Spurio, Daniele daniele.ceraolospurio at intel.com
Fri Apr 1 02:04:51 UTC 2022



On 3/31/2022 6:23 PM, Dixit, Ashutosh wrote:
> On Thu, 31 Mar 2022 14:54:08 -0700, Dixit, Ashutosh wrote:
>> On Wed, 30 Mar 2022 11:32:59 -0700, Daniele Ceraolo Spurio wrote:
>>> mei_gsc binds to an aux device exposed by i915, so it depends on it and
>>> need to be removed before we can unload i915.
>>> On platforms with a GSC, the mei components (pxp, hdcp) depend on
>>> mei_gsc, so those need to be unloaded first.
>> Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
>>
>>> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>>> Cc: Alexander Usyskin <alexander.usyskin at intel.com>
>>> ---
>>>   lib/igt_kmod.c | 4 ++++
>>>   1 file changed, 4 insertions(+)
>>>
>>> diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
>>> index d2ac8a56..28ffe515 100644
>>> --- a/lib/igt_kmod.c
>>> +++ b/lib/igt_kmod.c
>>> @@ -400,6 +400,10 @@ int __igt_i915_driver_unload(const char **who)
>>> 	const char *aux[] = {
>>> 		/* gen5: ips uses symbol_get() so only a soft module dependency */
>>> 		"intel_ips",
>>> +		/* mei_gsc uses an i915 aux dev and the other mei mods depend on it */
>>> +		"mei_pxp",
>>> +		"mei_hdcp",
>>> +		"mei_gsc",
> Actually come to think of it now, why do we even have this list?
> igt_kmod_unload_r() should automatically try to unload any modules which
> depend on i915. See 1fbeb61e2695. Or does the aux bus make these modules an
> exception?

It does. There is no direct module-to-module dependency between i915 and 
mei_gsc, so the automatic unload via dependency tracking won't work. 
Similarly, mei_pxp and mei_hdcp bind to sub-components exposed by mei_gsc.

Daniele




More information about the igt-dev mailing list