mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-25 02:30:12 +01:00
Make some more buffer object functions usable by drivers.
This commit is contained in:
parent
c250b2e96d
commit
05b88db738
3 changed files with 20 additions and 4 deletions
|
|
@ -494,6 +494,7 @@ void drm_bo_usage_deref_locked(drm_buffer_object_t * bo)
|
|||
drm_bo_destroy_locked(bo);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bo_usage_deref_locked);
|
||||
|
||||
static void drm_bo_base_deref_locked(drm_file_t * priv, drm_user_object_t * uo)
|
||||
{
|
||||
|
|
@ -1351,8 +1352,8 @@ static int drm_bo_check_fake(drm_device_t * dev, drm_bo_mem_reg_t * mem)
|
|||
* bo locked.
|
||||
*/
|
||||
|
||||
static int drm_buffer_object_validate(drm_buffer_object_t * bo,
|
||||
int move_unfenced, int no_wait)
|
||||
int drm_buffer_object_validate(drm_buffer_object_t * bo, int move_unfenced,
|
||||
int no_wait)
|
||||
{
|
||||
drm_device_t *dev = bo->dev;
|
||||
drm_buffer_manager_t *bm = &dev->bm;
|
||||
|
|
@ -1456,6 +1457,7 @@ static int drm_buffer_object_validate(drm_buffer_object_t * bo,
|
|||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_buffer_object_validate);
|
||||
|
||||
static int drm_bo_handle_validate(drm_file_t * priv, uint32_t handle,
|
||||
uint32_t flags, uint32_t mask, uint32_t hint,
|
||||
|
|
@ -1624,6 +1626,7 @@ int drm_buffer_object_create(drm_device_t *dev,
|
|||
drm_bo_usage_deref_unlocked(bo);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_buffer_object_create);
|
||||
|
||||
static int drm_bo_add_user_object(drm_file_t * priv, drm_buffer_object_t * bo,
|
||||
int shareable)
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ int drm_mem_reg_ioremap(drm_device_t * dev, drm_bo_mem_reg_t * mem,
|
|||
*virtual = addr;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_mem_reg_ioremap);
|
||||
|
||||
/**
|
||||
* \c Unmap mapping obtained using drm_bo_ioremap
|
||||
|
|
@ -150,6 +151,7 @@ void drm_mem_reg_iounmap(drm_device_t * dev, drm_bo_mem_reg_t * mem,
|
|||
iounmap(virtual);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(drm_mem_reg_iounmap);
|
||||
|
||||
static int drm_copy_io_page(void *dst, void *src, unsigned long page)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -429,10 +429,17 @@ typedef struct drm_bo_driver {
|
|||
* buffer objects (drm_bo.c)
|
||||
*/
|
||||
|
||||
extern int drm_bo_ioctl(DRM_IOCTL_ARGS);
|
||||
extern int drm_mm_init_ioctl(DRM_IOCTL_ARGS);
|
||||
extern int drm_bo_init_mm(struct drm_device * dev, unsigned type,
|
||||
unsigned long p_offset, unsigned long p_size);
|
||||
extern int drm_buffer_object_validate(drm_buffer_object_t * bo,
|
||||
int move_unfenced, int no_wait);
|
||||
extern int drm_buffer_object_create(struct drm_device *dev, unsigned long size,
|
||||
drm_bo_type_t type, uint32_t mask,
|
||||
uint32_t hint, uint32_t page_alignment,
|
||||
unsigned long buffer_start,
|
||||
drm_buffer_object_t ** buf_obj);
|
||||
extern int drm_bo_ioctl(DRM_IOCTL_ARGS);
|
||||
extern int drm_mm_init_ioctl(DRM_IOCTL_ARGS);
|
||||
extern int drm_bo_driver_finish(struct drm_device *dev);
|
||||
extern int drm_bo_driver_init(struct drm_device *dev);
|
||||
extern int drm_bo_pci_offset(struct drm_device *dev,
|
||||
|
|
@ -461,6 +468,10 @@ extern int drm_bo_move_buffer(drm_buffer_object_t * bo, uint32_t new_mem_flags,
|
|||
* drm_bo_move.c
|
||||
*/
|
||||
|
||||
extern int drm_mem_reg_ioremap(struct drm_device * dev, drm_bo_mem_reg_t * mem,
|
||||
void **virtual);
|
||||
extern void drm_mem_reg_iounmap(struct drm_device * dev, drm_bo_mem_reg_t * mem,
|
||||
void *virtual);
|
||||
extern int drm_bo_move_ttm(drm_buffer_object_t * bo,
|
||||
int evict, int no_wait, drm_bo_mem_reg_t * new_mem);
|
||||
extern int drm_bo_move_memcpy(drm_buffer_object_t * bo,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue