drm/omapdrm: Track IRQ state in local device state
authorThomas Zimmermann <tzimmermann@suse.de>
Fri, 25 Jun 2021 08:22:10 +0000 (10:22 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 29 Jun 2021 09:08:43 +0000 (11:08 +0200)
Replace usage of struct drm_device.irq_enabled with the driver's
own state field struct omap_drm_device.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: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210625082222.3845-16-tzimmermann@suse.de
drivers/gpu/drm/omapdrm/omap_drv.h
drivers/gpu/drm/omapdrm/omap_irq.c

index d6f1369..591d4c2 100644 (file)
@@ -48,6 +48,8 @@ struct omap_drm_private {
        struct dss_device *dss;
        struct dispc_device *dispc;
 
+       bool irq_enabled;
+
        unsigned int num_pipes;
        struct omap_drm_pipeline pipes[8];
        struct omap_drm_pipeline *channels[8];
index 15148d4..bb6e3fc 100644 (file)
@@ -291,7 +291,7 @@ int omap_drm_irq_install(struct drm_device *dev)
        if (ret < 0)
                return ret;
 
-       dev->irq_enabled = true;
+       priv->irq_enabled = true;
 
        return 0;
 }
@@ -300,10 +300,10 @@ void omap_drm_irq_uninstall(struct drm_device *dev)
 {
        struct omap_drm_private *priv = dev->dev_private;
 
-       if (!dev->irq_enabled)
+       if (!priv->irq_enabled)
                return;
 
-       dev->irq_enabled = false;
+       priv->irq_enabled = false;
 
        dispc_free_irq(priv->dispc, dev);
 }