aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drm_irq.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-02-28 16:24:17 +1000
committerDave Airlie <airlied@redhat.com>2008-02-28 16:24:17 +1000
commit01dcc47d895997f77c9457558e974d41c23ed4e1 (patch)
tree0550c9f9675b7dbcffa65583e4e866a36bf58057 /linux-core/drm_irq.c
parent132ba667f4a88bb182e2d2abc7c4e60699398380 (diff)
drm: add modesetting as a driver feature.
This change adds a driver feature that for i915 is controlled by a module parameter. You now need to do insmod i915.ko modeset=1 to enable it the modesetting paths. It also fixes up lots of X paths. I can run my new DDX driver on this code with and without modesetting enabled
Diffstat (limited to 'linux-core/drm_irq.c')
-rw-r--r--linux-core/drm_irq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/linux-core/drm_irq.c b/linux-core/drm_irq.c
index 637f5e1d..7dddbe19 100644
--- a/linux-core/drm_irq.c
+++ b/linux-core/drm_irq.c
@@ -261,6 +261,9 @@ int drm_irq_uninstall(struct drm_device * dev)
if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
return -EINVAL;
+ if (drm_core_check_feature(dev, DRIVER_MODESET))
+ return 0;
+
mutex_lock(&dev->struct_mutex);
irq_enabled = dev->irq_enabled;
dev->irq_enabled = 0;
@@ -306,6 +309,8 @@ int drm_control(struct drm_device *dev, void *data,
case DRM_INST_HANDLER:
if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
return 0;
+ if (drm_core_check_feature(dev, DRIVER_MODESET))
+ return 0;
if (dev->if_version < DRM_IF_VERSION(1, 2) &&
ctl->irq != dev->irq)
return -EINVAL;