<def f='src/src/sys/external/bsd/drm2/dist/include/drm/ttm/ttm_bo_driver.h' l='331' ll='481'/>
<size>160</size>
<doc f='src/src/sys/external/bsd/drm2/dist/include/drm/ttm/ttm_bo_driver.h' l='312'>/**
 * struct ttm_bo_driver
 *
 * @create_ttm_backend_entry: Callback to create a struct ttm_backend.
 * @invalidate_caches: Callback to invalidate read caches when a buffer object
 * has been evicted.
 * @init_mem_type: Callback to initialize a struct ttm_mem_type_manager
 * structure.
 * @evict_flags: Callback to obtain placement flags when a buffer is evicted.
 * @move: Callback for a driver to hook in accelerated functions to
 * move a buffer.
 * If set to NULL, a potentially slow memcpy() move is used.
 * @sync_obj_signaled: See ttm_fence_api.h
 * @sync_obj_wait: See ttm_fence_api.h
 * @sync_obj_flush: See ttm_fence_api.h
 * @sync_obj_unref: See ttm_fence_api.h
 * @sync_obj_ref: See ttm_fence_api.h
 */</doc>
<mbr r='ttm_bo_driver::ttm_tt_create' o='0' t='struct ttm_tt *(*)(struct ttm_bo_device *, unsigned long, __uint32_t, struct page *)'/>
<mbr r='ttm_bo_driver::ttm_tt_populate' o='64' t='int (*)(struct ttm_tt *)'/>
<mbr r='ttm_bo_driver::ttm_tt_unpopulate' o='128' t='void (*)(struct ttm_tt *)'/>
<mbr r='ttm_bo_driver::ttm_tt_swapout' o='192' t='void (*)(struct ttm_tt *)'/>
<mbr r='ttm_bo_driver::invalidate_caches' o='256' t='int (*)(struct ttm_bo_device *, __uint32_t)'/>
<mbr r='ttm_bo_driver::init_mem_type' o='320' t='int (*)(struct ttm_bo_device *, __uint32_t, struct ttm_mem_type_manager *)'/>
<mbr r='ttm_bo_driver::evict_flags' o='384' t='void (*)(struct ttm_buffer_object *, struct ttm_placement *)'/>
<mbr r='ttm_bo_driver::move' o='448' t='int (*)(struct ttm_buffer_object *, _Bool, _Bool, _Bool, struct ttm_mem_reg *)'/>
<mbr r='ttm_bo_driver::verify_access' o='512' t='int (*)(struct ttm_buffer_object *, struct file *)'/>
<mbr r='ttm_bo_driver::sync_obj_signaled' o='576' t='_Bool (*)(void *)'/>
<mbr r='ttm_bo_driver::sync_obj_wait' o='640' t='int (*)(void *, _Bool, _Bool)'/>
<mbr r='ttm_bo_driver::sync_obj_flush' o='704' t='int (*)(void *)'/>
<mbr r='ttm_bo_driver::sync_obj_unref' o='768' t='void (*)(void **)'/>
<mbr r='ttm_bo_driver::sync_obj_ref' o='832' t='void *(*)(void *)'/>
<mbr r='ttm_bo_driver::move_notify' o='896' t='void (*)(struct ttm_buffer_object *, struct ttm_mem_reg *)'/>
<mbr r='ttm_bo_driver::fault_reserve_notify' o='960' t='int (*)(struct ttm_buffer_object *)'/>
<mbr r='ttm_bo_driver::swap_notify' o='1024' t='void (*)(struct ttm_buffer_object *)'/>
<mbr r='ttm_bo_driver::io_mem_reserve' o='1088' t='int (*)(struct ttm_bo_device *, struct ttm_mem_reg *)'/>
<mbr r='ttm_bo_driver::io_mem_free' o='1152' t='void (*)(struct ttm_bo_device *, struct ttm_mem_reg *)'/>
<mbr r='ttm_bo_driver::ttm_uvm_ops' o='1216' t='const struct uvm_pagerops *'/>
