[PATCH] drm: Ensure Proper Unload/Reload Order of MEI Modules for i915/Xe Driver

Bommu, Krishnaiah krishnaiah.bommu at intel.com
Tue Sep 3 13:28:47 UTC 2024


++ intel-gfx at lists.freedesktop.org

> -----Original Message-----
> From: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> Sent: Tuesday, September 3, 2024 5:38 PM
> To: intel-xe at lists.freedesktop.org
> Cc: Bommu, Krishnaiah <krishnaiah.bommu at intel.com>; Ceraolo Spurio,
> Daniele <daniele.ceraolospurio at intel.com>; De Marchi, Lucas
> <lucas.demarchi at intel.com>
> Subject: Re: [PATCH] drm: Ensure Proper Unload/Reload Order of MEI Modules
> for i915/Xe Driver
> 
> Hi Bommu,
> On 2024-09-02 at 19:40:41 +0530, Bommu Krishnaiah wrote:
> > This update addresses the unload/reload sequence of MEI modules in
> > relation to the i915/Xe graphics driver. On platforms where the MEI
> > hardware is integrated with the graphics device (e.g., DG2/BMG), the
> > MEI modules depend on the i915/Xe driver. Conversely, on newer
> > platforms like CLS, where the MEI hardware is separate, this dependency does
> not exist.
> >
> > The changes introduced ensure that MEI modules are unloaded and
> > reloaded in the correct order based on platform-specific dependencies.
> > This is achieved by adding a MODULE_SOFTDEP directive to the i915 and Xe
> module code.
> >
> > These changes enhance the robustness of MEI module handling across
> > different hardware platforms, ensuring that the i915/Xe driver can be
> > cleanly unloaded and reloaded without issues.
> >
> > Signed-off-by: Bommu Krishnaiah <krishnaiah.bommu at intel.com>
> > Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> > Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> > Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_module.c | 2 ++
> 
> imho as you touch i915 driver you should also Cc to intel-
> gfx at lists.freedesktop.org
> 
> Regards,
> Kamil
> 
> >  drivers/gpu/drm/xe/xe_module.c     | 2 ++
> >  2 files changed, 4 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_module.c
> > b/drivers/gpu/drm/i915/i915_module.c
> > index 65acd7bf75d0..2ad079ad35db 100644
> > --- a/drivers/gpu/drm/i915/i915_module.c
> > +++ b/drivers/gpu/drm/i915/i915_module.c
> > @@ -75,6 +75,8 @@ static const struct {  };  static int init_progress;
> >
> > +MODULE_SOFTDEP("pre: mei_gsc_proxy mei_gsc");
> > +
> >  static int __init i915_init(void)
> >  {
> >  	int err, i;
> > diff --git a/drivers/gpu/drm/xe/xe_module.c
> > b/drivers/gpu/drm/xe/xe_module.c index bfc3deebdaa2..5633ea1841b7
> > 100644
> > --- a/drivers/gpu/drm/xe/xe_module.c
> > +++ b/drivers/gpu/drm/xe/xe_module.c
> > @@ -127,6 +127,8 @@ static void xe_call_exit_func(unsigned int i)
> >  	init_funcs[i].exit();
> >  }
> >
> > +MODULE_SOFTDEP("pre: mei_gsc_proxy mei_gsc");
> > +
> >  static int __init xe_init(void)
> >  {
> >  	int err, i;
> > --
> > 2.25.1
> >


More information about the Intel-xe mailing list