/* If this FB was the kernel one, free it */
if (fb->bo->type == drm_bo_type_kernel) {
mutex_lock(&dev->struct_mutex);
- drm_bo_usage_deref_locked(fb->bo);
+ drm_bo_usage_deref_locked(&fb->bo);
mutex_unlock(&dev->struct_mutex);
}
drm_framebuffer_destroy(fb);
dev_priv->sarea_priv->perf_boxes |= I915_BOX_RING_EMPTY;
}
-static int i915_dma_cleanup(drm_device_t * dev)
+int i915_dma_cleanup(drm_device_t * dev)
{
/* Make sure interrupts are disabled here because the uninstall ioctl
* may not have been called from userspace and after dev_private
extern void i915_kernel_lost_context(drm_device_t * dev);
extern int i915_driver_load(struct drm_device *, unsigned long flags);
extern int i915_driver_unload(drm_device_t *dev);
-extern int i915_driver_firstopen(struct drm_device *dev);
extern void i915_driver_lastclose(drm_device_t * dev);
extern void i915_driver_preclose(drm_device_t * dev, DRMFILE filp);
extern int i915_driver_device_is_agp(drm_device_t * dev);
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);
extern int i915_dma_cleanup(drm_device_t * dev);
/* i915_irq.c */
DRM_DEBUG("usage is %d\n", atomic_read(&dev_priv->ring_buffer->usage));
mutex_lock(&dev->struct_mutex);
- drm_bo_usage_deref_locked(dev_priv->ring_buffer);
+ drm_bo_usage_deref_locked(&dev_priv->ring_buffer);
mutex_unlock(&dev->struct_mutex);
if (drm_bo_clean_mm(dev, DRM_BO_MEM_VRAM)) {
i915_mem_takedown(&(dev_priv->agp_heap));
i915_dma_cleanup(dev);
-
}
void i915_driver_preclose(drm_device_t * dev, DRMFILE filp)