Export some useful ttm functions to drivers.
authorBen Skeggs <skeggsb@gmail.com>
Mon, 6 Aug 2007 12:11:18 +0000 (22:11 +1000)
committerBen Skeggs <skeggsb@gmail.com>
Mon, 6 Aug 2007 12:11:18 +0000 (22:11 +1000)
linux-core/drm_bo.c
linux-core/drm_bo_move.c
linux-core/drm_objects.h

index 467d03f..4c2b154 100644 (file)
@@ -517,7 +517,7 @@ static void drm_bo_base_deref_locked(struct drm_file * file_priv,
        drm_bo_usage_deref_locked(&bo);
 }
 
-static void drm_bo_usage_deref_unlocked(struct drm_buffer_object ** bo)
+void drm_bo_usage_deref_unlocked(struct drm_buffer_object ** bo)
 {
        struct drm_buffer_object *tmp_bo = *bo;
        struct drm_device *dev = tmp_bo->dev;
@@ -530,6 +530,7 @@ static void drm_bo_usage_deref_unlocked(struct drm_buffer_object ** bo)
                mutex_unlock(&dev->struct_mutex);
        }
 }
+EXPORT_SYMBOL(drm_bo_usage_deref_unlocked);
 
 /*
  * Note. The caller has to register (if applicable)
@@ -1672,10 +1673,10 @@ int drm_buffer_object_create(struct drm_device *dev,
        drm_bo_usage_deref_unlocked(&bo);
        return ret;
 }
+EXPORT_SYMBOL(drm_buffer_object_create);
 
-static int drm_bo_add_user_object(struct drm_file *file_priv,
-                                 struct drm_buffer_object *bo,
-                                 int shareable)
+int drm_bo_add_user_object(struct drm_file *file_priv,
+                          struct drm_buffer_object *bo, int shareable)
 {
        struct drm_device *dev = file_priv->head->dev;
        int ret;
@@ -1694,6 +1695,7 @@ static int drm_bo_add_user_object(struct drm_file *file_priv,
        mutex_unlock(&dev->struct_mutex);
        return ret;
 }
+EXPORT_SYMBOL(drm_bo_add_user_object);
 
 static int drm_bo_lock_test(struct drm_device * dev, struct drm_file *file_priv)
 {
index 5e21173..1a61391 100644 (file)
@@ -128,6 +128,7 @@ int drm_mem_reg_ioremap(struct drm_device * dev, struct drm_bo_mem_reg * mem,
        *virtual = addr;
        return 0;
 }
+EXPORT_SYMBOL(drm_mem_reg_ioremap);
 
 /**
  * \c Unmap mapping obtained using drm_bo_ioremap
index e5f2b69..e34fdbc 100644 (file)
@@ -483,6 +483,17 @@ extern int drm_bo_mem_space(struct drm_buffer_object * bo,
                            struct drm_bo_mem_reg * mem, int no_wait);
 extern int drm_bo_move_buffer(struct drm_buffer_object * bo, uint32_t new_mem_flags,
                              int no_wait, int move_unfenced);
+extern int drm_buffer_object_create(struct drm_device *dev, unsigned long size,
+                                   enum drm_bo_type type, uint64_t mask,
+                                   uint32_t hint, uint32_t page_alignment,
+                                   unsigned long buffer_start,
+                                   struct drm_buffer_object **bo);
+extern int drm_bo_init_mm(struct drm_device *dev, unsigned type,
+                         unsigned long p_offset, unsigned long p_size);
+extern int drm_bo_clean_mm(struct drm_device *dev, unsigned mem_type);
+extern int drm_bo_add_user_object(struct drm_file *file_priv,
+                                 struct drm_buffer_object *bo, int sharable);
+extern void drm_bo_usage_deref_unlocked(struct drm_buffer_object **bo);
 
 /*
  * Buffer object memory move helpers.
@@ -502,6 +513,11 @@ extern int drm_bo_move_accel_cleanup(struct drm_buffer_object * bo,
                                     uint32_t fence_flags,
                                     struct drm_bo_mem_reg * new_mem);
 
+extern int drm_mem_reg_ioremap(struct drm_device *dev,
+                              struct drm_bo_mem_reg *mem, void **virtual);
+extern void drm_mem_reg_iounmap(struct drm_device *dev,
+                               struct drm_bo_mem_reg *mem, void *virtual);
+
 #ifdef CONFIG_DEBUG_MUTEXES
 #define DRM_ASSERT_LOCKED(_mutex)                                      \
        BUG_ON(!mutex_is_locked(_mutex) ||                              \