diff options
author | Eric Anholt <eric@anholt.net> | 2008-06-10 15:30:23 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2008-06-10 22:57:07 -0700 |
commit | 2150da5d1a57d25d0f4bc39bb6c883d410f586d1 (patch) | |
tree | d66c8062573491fb5caab64623e319e899262935 /shared-core/i915_irq.c | |
parent | 500c81d194115fb3c4b97d742519689478eeb4e8 (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.c | 5 |
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)); |