diff options
author | Dave Airlie <airlied@linux.ie> | 2007-03-27 18:01:31 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2007-03-27 18:01:31 +1000 |
commit | 81b811da376fed5363f25e82e5285455df3e8157 (patch) | |
tree | cc4122d0ce5c8998fc994c62acb133411baa0172 /shared-core | |
parent | 72a1190f6d9acea5fb789bec706c842604954049 (diff) |
drm/i915: set the bo up at firstopen time not after DMA init
This is required to use TTM to allocate the ring buffer.
Diffstat (limited to 'shared-core')
-rw-r--r-- | shared-core/i915_dma.c | 11 | ||||
-rw-r--r-- | shared-core/i915_drv.h | 2 |
2 files changed, 9 insertions, 4 deletions
diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c index c8b7e588..9053f544 100644 --- a/shared-core/i915_dma.c +++ b/shared-core/i915_dma.c @@ -195,9 +195,6 @@ static int i915_initialize(drm_device_t * dev, I915_WRITE(0x02080, dev_priv->dma_status_page); DRM_DEBUG("Enabled hardware status page\n"); dev->dev_private = (void *)dev_priv; -#ifdef I915_HAVE_BUFFER - drm_bo_driver_init(dev); -#endif return 0; } @@ -949,3 +946,11 @@ int i915_driver_device_is_agp(drm_device_t * dev) { return 1; } + +int i915_driver_firstopen(struct drm_device *dev) +{ +#ifdef I915_HAVE_BUFFER + drm_bo_driver_init(dev); +#endif + return 0; +} diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h index 662ffad6..e8a7be29 100644 --- a/shared-core/i915_drv.h +++ b/shared-core/i915_drv.h @@ -153,7 +153,7 @@ extern long i915_compat_ioctl(struct file *filp, unsigned int cmd, extern void i915_emit_breadcrumb(drm_device_t *dev); extern void i915_dispatch_flip(drm_device_t * dev, int pipes, int sync); extern int i915_emit_mi_flush(drm_device_t *dev, uint32_t flush); - +extern int i915_driver_firstopen(struct drm_device *dev); /* i915_irq.c */ extern int i915_irq_emit(DRM_IOCTL_ARGS); |