Make some more buffer object functions usable by drivers.

This commit is contained in:
Michel Dänzer 2007-05-02 12:03:11 +02:00
parent c250b2e96d
commit 05b88db738
3 changed files with 20 additions and 4 deletions

View file

@ -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)

View file

@ -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)
{

View file

@ -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,