drm: Adding the option IRQ_ONESHOT to support irq oneshot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: liu chuansheng <chuansheng.liu@xxxxxxxxx>
Subject: [PATCH] drm: Adding the option IRQ_ONESHOT to support irq oneshot

For some platforms, we want the irq is handled as one shot,
then even when we use the irq thread, with this option, the new
irq will come until the irq thread finished.

So we have the requirement for IRQ_ONESHOT.

Signed-off-by: liu chuansheng <chuansheng.liu@xxxxxxxxx>
---
 drivers/gpu/drm/drm_irq.c |    3 +++
 include/drm/drmP.h        |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 03f16f3..7a8a581 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -345,6 +345,9 @@ int drm_irq_install(struct drm_device *dev)
        if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED))
                sh_flags = IRQF_SHARED;
 
+        if (drm_core_check_feature(dev, DRIVER_IRQ_ONESHOT))
+                sh_flags |= IRQF_ONESHOT;
+
        if (dev->devname)
                irqname = dev->devname;
        else
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index d6b67bb..dfede31 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -152,6 +152,7 @@ int drm_err(const char *func, const char *format, ...);
 #define DRIVER_GEM         0x1000
 #define DRIVER_MODESET     0x2000
 #define DRIVER_PRIME       0x4000
+#define DRIVER_IRQ_ONESHOT 0x8000
 
 #define DRIVER_BUS_PCI 0x1
 #define DRIVER_BUS_PLATFORM 0x2
-- 
1.7.0.4
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux