The i915 and xe calls to display, in particular for
probe/cleanup/suspend/resume, need to be unified. It does not help to
have the related calls scattered around. As a small step forward,
relocate the intel_hpd_cancel_work() call from intel_irq_uninstall() to
i915_driver_remove().
Note that the other intel_irq_uninstall() call sites don't need the
call, as they're on error paths where hotplug hasn't been enabled yet.
Reviewed-by: MichaĆ Grzelak <michal.grzelak@intel.com>
Link: https://patch.msgid.link/20260516101852.1373108-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
intel_display_driver_remove(display);
intel_irq_uninstall(i915);
+ intel_hpd_cancel_work(display);
intel_display_driver_remove_noirq(display);
#include <drm/intel/intel_gmd_interrupt_regs.h>
#include "display/intel_display_irq.h"
-#include "display/intel_hotplug.h"
#include "gt/intel_breadcrumbs.h"
#include "gt/intel_gt.h"
*/
void intel_irq_uninstall(struct drm_i915_private *dev_priv)
{
- struct intel_display *display = dev_priv->display;
int irq = to_pci_dev(dev_priv->drm.dev)->irq;
if (drm_WARN_ON(&dev_priv->drm, !dev_priv->irqs_enabled))
free_irq(irq, dev_priv);
- intel_hpd_cancel_work(display);
dev_priv->irqs_enabled = false;
}