<dec f='src/src/sys/external/bsd/drm2/dist/include/drm/ttm/ttm_bo_driver.h' l='780' type='int ttm_bo_mem_space(struct ttm_buffer_object * bo, struct ttm_placement * placement, struct ttm_mem_reg * mem, _Bool interruptible, _Bool no_wait_gpu)'/>
<doc f='src/src/sys/external/bsd/drm2/dist/include/drm/ttm/ttm_bo_driver.h' l='761'>/**
 * ttm_bo_mem_space
 *
 * @bo: Pointer to a struct ttm_buffer_object. the data of which
 * we want to allocate space for.
 * @proposed_placement: Proposed new placement for the buffer object.
 * @mem: A struct ttm_mem_reg.
 * @interruptible: Sleep interruptible when sliping.
 * @no_wait_gpu: Return immediately if the GPU is busy.
 *
 * Allocate memory space for the buffer object pointed to by @bo, using
 * the placement flags in @mem, potentially evicting other idle buffer objects.
 * This function may sleep while waiting for space to become available.
 * Returns:
 * -EBUSY: No space available (only if no_wait == 1).
 * -ENOMEM: Could not allocate memory for the buffer object, either due to
 * fragmentation or concurrent allocators.
 * -ERESTARTSYS: An interruptible sleep was interrupted by a signal.
 */</doc>
<use f='src/src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c' l='1125' u='c' c='nouveau_bo_move_flipd'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c' l='1158' u='c' c='nouveau_bo_move_flips'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c' l='312' u='c' c='radeon_move_vram_ram'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c' l='359' u='c' c='radeon_move_ram_vram'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c' l='731' u='c' c='ttm_bo_evict'/>
<def f='src/src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c' l='893' ll='997' type='int ttm_bo_mem_space(struct ttm_buffer_object * bo, struct ttm_placement * placement, struct ttm_mem_reg * mem, _Bool interruptible, _Bool no_wait_gpu)'/>
<use f='src/src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c' l='1030' u='c' c='ttm_bo_move_buffer'/>
<doc f='src/src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo.c' l='885'>/**
 * Creates space for memory region @mem according to its type.
 *
 * This function first searches for free space in compatible memory types in
 * the priority order defined by the driver.  If free space isn&apos;t found, then
 * ttm_bo_mem_force_space is attempted in priority order to evict and find
 * space.
 */</doc>
