45,24 → 45,12 |
|
struct drm_mm_node; |
|
|
/** |
* struct ttm_place |
* struct ttm_placement |
* |
* @fpfn: first valid page frame number to put the object |
* @lpfn: last valid page frame number to put the object |
* @flags: memory domain and caching flags for the object |
* |
* Structure indicating a possible place to put an object. |
*/ |
struct ttm_place { |
unsigned fpfn; |
unsigned lpfn; |
uint32_t flags; |
}; |
|
/** |
* struct ttm_placement |
* |
* @num_placement: number of preferred placements |
* @placement: preferred placements |
* @num_busy_placement: number of preferred placements when need to evict buffer |
71,10 → 59,12 |
* Structure indicating the placement you request for an object. |
*/ |
struct ttm_placement { |
unsigned fpfn; |
unsigned lpfn; |
unsigned num_placement; |
const struct ttm_place *placement; |
const uint32_t *placement; |
unsigned num_busy_placement; |
const struct ttm_place *busy_placement; |
const uint32_t *busy_placement; |
}; |
|
/** |
173,6 → 163,7 |
* @lru: List head for the lru list. |
* @ddestroy: List head for the delayed destroy list. |
* @swap: List head for swap LRU list. |
* @sync_obj: Pointer to a synchronization object. |
* @priv_flags: Flags describing buffer object internal state. |
* @vma_node: Address space manager node. |
* @offset: The current GPU offset, which can have different meanings |
236,9 → 227,13 |
struct list_head io_reserve_lru; |
|
/** |
* Members protected by a bo reservation. |
* Members protected by struct buffer_object_device::fence_lock |
* In addition, setting sync_obj to anything else |
* than NULL requires bo::reserved to be held. This allows for |
* checking NULL while reserved but not holding the mentioned lock. |
*/ |
|
void *sync_obj; |
unsigned long priv_flags; |
|
struct drm_vma_offset_node vma_node; |
460,7 → 455,6 |
* 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. |
* @resv: Pointer to a reservation_object, or NULL to let ttm allocate one. |
* @destroy: Destroy function. Use NULL for kfree(). |
* |
* This function initializes a pre-allocated struct ttm_buffer_object. |
488,7 → 482,6 |
struct file *persistent_swap_storage, |
size_t acc_size, |
struct sg_table *sg, |
struct reservation_object *resv, |
void (*destroy) (struct ttm_buffer_object *)); |
|
/** |
526,6 → 519,20 |
struct ttm_buffer_object **p_bo); |
|
/** |
* ttm_bo_check_placement |
* |
* @bo: the buffer object. |
* @placement: placements |
* |
* Performs minimal validity checking on an intended change of |
* placement flags. |
* Returns |
* -EINVAL: Intended change is invalid or not allowed. |
*/ |
extern int ttm_bo_check_placement(struct ttm_buffer_object *bo, |
struct ttm_placement *placement); |
|
/** |
* ttm_bo_init_mm |
* |
* @bdev: Pointer to a ttm_bo_device struct. |