drm/i915: Track IRQ state in local device state
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 25 Jun 2021 08:22:01 +0000 (10:22 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 29 Jun 2021 09:08:42 +0000 (11:08 +0200)
Replace usage of struct drm_device.irq_enabled with the driver's
own state field struct drm_i915_private.irq_enabled. The field in
the DRM device structure is considered legacy and should not be
used by KMS drivers.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210625082222.3845-7-tzimmermann@suse.de
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c

index 38ff2fb..aa109c7 100644 (file)
@@ -1134,6 +1134,8 @@ struct drm_i915_private {
        /* For i915gm/i945gm vblank irq workaround */
        u8 vblank_enabled;
 
+       bool irq_enabled;
+
        /* perform PHY state sanity checks? */
        bool chv_phy_assert[2];
 
index a11bdb6..987211f 100644 (file)
@@ -4488,14 +4488,14 @@ int intel_irq_install(struct drm_i915_private *dev_priv)
         */
        dev_priv->runtime_pm.irqs_enabled = true;
 
-       dev_priv->drm.irq_enabled = true;
+       dev_priv->irq_enabled = true;
 
        intel_irq_reset(dev_priv);
 
        ret = request_irq(irq, intel_irq_handler(dev_priv),
                          IRQF_SHARED, DRIVER_NAME, dev_priv);
        if (ret < 0) {
-               dev_priv->drm.irq_enabled = false;
+               dev_priv->irq_enabled = false;
                return ret;
        }
 
@@ -4521,10 +4521,10 @@ void intel_irq_uninstall(struct drm_i915_private *dev_priv)
         * intel_modeset_driver_remove() calling us out of sequence.
         * Would be nice if it didn't do that...
         */
-       if (!dev_priv->drm.irq_enabled)
+       if (!dev_priv->irq_enabled)
                return;
 
-       dev_priv->drm.irq_enabled = false;
+       dev_priv->irq_enabled = false;
 
        intel_irq_reset(dev_priv);