drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall

Push irq uninstall further up, by splitting i915_driver_modeset_remove()
to two, the part with working irqs before irq uninstall, and the part
after irq uninstall. No functional changes.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200214135058.7580-2-jani.nikula@intel.com
This commit is contained in:
Jani Nikula 2020-02-14 15:50:58 +02:00
parent 93a0ed6cc1
commit f20a60fb7a
1 changed files with 9 additions and 2 deletions

View File

@ -285,12 +285,15 @@ out:
return ret; return ret;
} }
/* part #1: call before irq uninstall */
static void i915_driver_modeset_remove(struct drm_i915_private *i915) static void i915_driver_modeset_remove(struct drm_i915_private *i915)
{ {
intel_modeset_driver_remove(i915); intel_modeset_driver_remove(i915);
}
intel_irq_uninstall(i915); /* part #2: call after irq uninstall */
static void i915_driver_modeset_remove_noirq(struct drm_i915_private *i915)
{
intel_modeset_driver_remove_noirq(i915); intel_modeset_driver_remove_noirq(i915);
intel_bios_driver_remove(i915); intel_bios_driver_remove(i915);
@ -1509,6 +1512,10 @@ void i915_driver_remove(struct drm_i915_private *i915)
i915_driver_modeset_remove(i915); i915_driver_modeset_remove(i915);
intel_irq_uninstall(i915);
i915_driver_modeset_remove_noirq(i915);
i915_reset_error_state(i915); i915_reset_error_state(i915);
i915_gem_driver_remove(i915); i915_gem_driver_remove(i915);