mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-05-05 00:48:08 +02:00
Export some useful ttm functions to drivers.
This commit is contained in:
parent
7a0a812ea4
commit
92084c6e05
3 changed files with 23 additions and 4 deletions
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) || \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue