313,7 → 313,8 |
* @bo: The buffer object. |
* @placement: Proposed placement for the buffer object. |
* @interruptible: Sleep interruptible if sleeping. |
* @no_wait: Return immediately if the buffer is busy. |
* @no_wait_reserve: Return immediately if other buffers are busy. |
* @no_wait_gpu: Return immediately if the GPU is busy. |
* |
* Changes placement and caching policy of the buffer object |
* according proposed placement. |
325,7 → 326,8 |
*/ |
extern int ttm_bo_validate(struct ttm_buffer_object *bo, |
struct ttm_placement *placement, |
bool interruptible, bool no_wait); |
bool interruptible, bool no_wait_reserve, |
bool no_wait_gpu); |
|
/** |
* ttm_bo_unref |
374,9 → 376,9 |
* user buffer object. |
* @interruptible: If needing to sleep to wait for GPU resources, |
* sleep interruptible. |
* @persistant_swap_storage: Usually the swap storage is deleted for buffers |
* @persistent_swap_storage: Usually the swap storage is deleted for buffers |
* pinned in physical memory. If this behaviour is not desired, this member |
* holds a pointer to a persistant shmem object. Typically, this would |
* holds a pointer to a persistent shmem object. Typically, this would |
* point to the shmem object backing a GEM object if TTM is used to back a |
* GEM user interface. |
* @acc_size: Accounted size for this object. |
387,6 → 389,10 |
* together with the @destroy function, |
* enables driver-specific objects derived from a ttm_buffer_object. |
* On successful return, the object kref and list_kref are set to 1. |
* If a failure occurs, the function will call the @destroy function, or |
* kfree() if @destroy is NULL. Thus, after a failure, dereferencing @bo is |
* illegal and will likely cause memory corruption. |
* |
* Returns |
* -ENOMEM: Out of memory. |
* -EINVAL: Invalid placement flags. |
401,7 → 407,7 |
uint32_t page_alignment, |
unsigned long buffer_start, |
bool interrubtible, |
struct file *persistant_swap_storage, |
struct file *persistent_swap_storage, |
size_t acc_size, |
void (*destroy) (struct ttm_buffer_object *)); |
/** |
417,9 → 423,9 |
* user buffer object. |
* @interruptible: If needing to sleep while waiting for GPU resources, |
* sleep interruptible. |
* @persistant_swap_storage: Usually the swap storage is deleted for buffers |
* @persistent_swap_storage: Usually the swap storage is deleted for buffers |
* pinned in physical memory. If this behaviour is not desired, this member |
* holds a pointer to a persistant shmem object. Typically, this would |
* holds a pointer to a persistent shmem object. Typically, this would |
* point to the shmem object backing a GEM object if TTM is used to back a |
* GEM user interface. |
* @p_bo: On successful completion *p_bo points to the created object. |
439,7 → 445,7 |
uint32_t page_alignment, |
unsigned long buffer_start, |
bool interruptible, |
struct file *persistant_swap_storage, |
struct file *persistent_swap_storage, |
struct ttm_buffer_object **p_bo); |
|
/** |