summaryrefslogtreecommitdiff
path: root/shared-core/i915_irq.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2008-06-10 15:30:23 -0700
committerEric Anholt <eric@anholt.net>2008-06-10 22:57:07 -0700
commit2150da5d1a57d25d0f4bc39bb6c883d410f586d1 (patch)
treed66c8062573491fb5caab64623e319e899262935 /shared-core/i915_irq.c
parent500c81d194115fb3c4b97d742519689478eeb4e8 (diff)
[gem] Manage the ringbuffer from the kernel in the GEM case.
This requires that the X Server use the execbuf interface for buffer submission, as it no longer has direct access to the ring. This is therefore a flag day for the gem interface. This also adds enter/leavevt ioctls for use by the X Server. These would get stubbed out in a modesetting implementation, but are required while in an environment where the device's state is only managed by the DRM while X has the VT.
Diffstat (limited to 'shared-core/i915_irq.c')
-rw-r--r--shared-core/i915_irq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/shared-core/i915_irq.c b/shared-core/i915_irq.c
index 37d85f40..077af1ab 100644
--- a/shared-core/i915_irq.c
+++ b/shared-core/i915_irq.c
@@ -575,6 +575,11 @@ int i915_wait_irq(struct drm_device * dev, int irq_nr)
drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
int ret = 0;
+ if (!dev_priv) {
+ DRM_ERROR("called with no initialization\n");
+ return -EINVAL;
+ }
+
DRM_DEBUG("irq_nr=%d breadcrumb=%d\n", irq_nr,
READ_BREADCRUMB(dev_priv));