]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/i915: Move audio deinit after disabling polling
authorImre Deak <imre.deak@intel.com>
Thu, 4 Jan 2024 08:29:59 +0000 (10:29 +0200)
committerImre Deak <imre.deak@intel.com>
Mon, 8 Jan 2024 16:51:31 +0000 (18:51 +0200)
Deinitialize audio during driver unload after disabling polling. This is
in preparation to do all the display HW init/deinit steps at a point
where no HPD IRQ or polling initiated connector detection or modeset can
change the HW state. This may still happen here via an HPD IRQ ->
hotplug detection work or a connector sysfs (state/detect) access, but
these will be prevented by later changes in this patchset.

Link: https://patchwork.freedesktop.org/patch/msgid/20240104083008.2715733-4-imre.deak@intel.com
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/display/intel_display_driver.c

index 9df9097a0255afda44013c13e2357357769005be..da549962feccd0d4863b0a86edc307206b00b965 100644 (file)
@@ -486,14 +486,15 @@ void intel_display_driver_unregister(struct drm_i915_private *i915)
                return;
 
        intel_fbdev_unregister(i915);
-       intel_audio_deinit(i915);
-
        /*
         * After flushing the fbdev (incl. a late async config which
         * will have delayed queuing of a hotplug event), then flush
         * the hotplug events.
         */
        drm_kms_helper_poll_fini(&i915->drm);
+
+       intel_audio_deinit(i915);
+
        drm_atomic_helper_shutdown(&i915->drm);
 
        acpi_video_unregister();