[Intel-gfx] [RFC PATCH] drm/i915: Restore full symmetry in i915_driver_modeset_probe/remove

Chris Wilson chris at chris-wilson.co.uk
Fri Oct 18 21:42:50 UTC 2019


Quoting Michal Wajdeczko (2019-10-18 16:52:26)
> On Fri, 18 Oct 2019 12:07:10 +0200, Janusz Krzysztofik  
> <janusz.krzysztofik at linux.intel.com> wrote:
> 
> > Commit 2d6f6f359fd8 ("drm/i915: add i915_driver_modeset_remove()")
> > claimed removal of asymmetry in probe() and remove() calls, however, it
> > didn't take care of calling intel_irq_uninstall() on driver remove.
> > That doesn't hurt as long as we still call it from
> > intel_modeset_driver_remove() but in order to have full symmetry we
> > should call it again from i915_driver_modeset_remove().
> >
> > Note that it's safe to call intel_irq_uninstall() twice thanks to
> > commit b318b82455bd ("drm/i915: Nuke drm_driver irq vfuncs").  We may
> > only want to mention the case we are adding in a related FIXME comment
> > provided by that commit.  While being at it, update the name of
> > function mentioned as calling it out of sequence as that name has been
> > changed meanwhile by commit 78dae1ac35dd ("drm/i915: Propagate
> > "_remove" function name suffix down").
> >
> > Suggested-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> > Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
> > Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> > ---
> 
> Reviewed-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> but please see below
> 
> >  drivers/gpu/drm/i915/i915_drv.c | 2 ++
> >  drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
> >  2 files changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c  
> > b/drivers/gpu/drm/i915/i915_drv.c
> > index dd9613e45723..4ae9bfa96290 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -452,6 +452,8 @@ static void i915_driver_modeset_remove(struct  
> > drm_i915_private *i915)
> >       intel_modeset_driver_remove(i915);
> > +     intel_irq_uninstall(i915);
> > +
> >       intel_bios_driver_remove(i915);
> 
> I'm wondering if this is a good location for this call as in
> i915_driver_modeset_probe() we call it before intel_vga_register()
> so likely cleanup should be done after intel_vga_unregister()

I thought you were complaining about the positioning of
intel_irq_uninstall, but you do mean the ordering of intel_bios_* vs
intel_vga_*.
-Chris


More information about the Intel-gfx mailing list