diff options
author | =?utf-8?q?Michel_D=C3=A4nzer?= <michel@tungstengraphics.com> | 2006-10-24 09:37:43 -0400 |
---|---|---|
committer | airlied <airlied@linux.ie> | 2006-12-06 23:53:29 -0500 |
commit | a6b54f3f5050c0cbc0c35dd48064846c6302706b (patch) | |
tree | ed0a17808058150916a56120a10109d70a2dd426 /drivers/char/drm/i915_dma.c | |
parent | 049b323321bbcb476b799f50dc6444c0ed5a0e0e (diff) |
drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks.
This uses the core facility to schedule a driver callback that will be called
ASAP after the given vertical blank interrupt with the HW lock held.
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/i915_dma.c')
-rw-r--r-- | drivers/char/drm/i915_dma.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c index fb7913ff5286..9354ce3b0093 100644 --- a/drivers/char/drm/i915_dma.c +++ b/drivers/char/drm/i915_dma.c | |||
@@ -162,6 +162,7 @@ static int i915_initialize(drm_device_t * dev, | |||
162 | 162 | ||
163 | dev_priv->ring.virtual_start = dev_priv->ring.map.handle; | 163 | dev_priv->ring.virtual_start = dev_priv->ring.map.handle; |
164 | 164 | ||
165 | dev_priv->cpp = init->cpp; | ||
165 | dev_priv->back_offset = init->back_offset; | 166 | dev_priv->back_offset = init->back_offset; |
166 | dev_priv->front_offset = init->front_offset; | 167 | dev_priv->front_offset = init->front_offset; |
167 | dev_priv->current_page = 0; | 168 | dev_priv->current_page = 0; |
@@ -782,6 +783,7 @@ drm_ioctl_desc_t i915_ioctls[] = { | |||
782 | [DRM_IOCTL_NR(DRM_I915_DESTROY_HEAP)] = { i915_mem_destroy_heap, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY }, | 783 | [DRM_IOCTL_NR(DRM_I915_DESTROY_HEAP)] = { i915_mem_destroy_heap, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY }, |
783 | [DRM_IOCTL_NR(DRM_I915_SET_VBLANK_PIPE)] = { i915_vblank_pipe_set, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY }, | 784 | [DRM_IOCTL_NR(DRM_I915_SET_VBLANK_PIPE)] = { i915_vblank_pipe_set, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY }, |
784 | [DRM_IOCTL_NR(DRM_I915_GET_VBLANK_PIPE)] = { i915_vblank_pipe_get, DRM_AUTH }, | 785 | [DRM_IOCTL_NR(DRM_I915_GET_VBLANK_PIPE)] = { i915_vblank_pipe_get, DRM_AUTH }, |
786 | [DRM_IOCTL_NR(DRM_I915_VBLANK_SWAP)] = {i915_vblank_swap, DRM_AUTH}, | ||
785 | }; | 787 | }; |
786 | 788 | ||
787 | int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); | 789 | int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); |