Lines Matching refs:mgr
44 drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start, in amdgpu_vamgr_init() argument
49 mgr->va_max = max; in amdgpu_vamgr_init()
50 mgr->va_alignment = alignment; in amdgpu_vamgr_init()
52 list_inithead(&mgr->va_holes); in amdgpu_vamgr_init()
53 pthread_mutex_init(&mgr->bo_va_mutex, NULL); in amdgpu_vamgr_init()
54 pthread_mutex_lock(&mgr->bo_va_mutex); in amdgpu_vamgr_init()
56 n->size = mgr->va_max - start; in amdgpu_vamgr_init()
58 list_add(&n->list, &mgr->va_holes); in amdgpu_vamgr_init()
59 pthread_mutex_unlock(&mgr->bo_va_mutex); in amdgpu_vamgr_init()
62 drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr) in amdgpu_vamgr_deinit() argument
65 LIST_FOR_EACH_ENTRY_SAFE(hole, tmp, &mgr->va_holes, list) { in amdgpu_vamgr_deinit()
69 pthread_mutex_destroy(&mgr->bo_va_mutex); in amdgpu_vamgr_deinit()
73 amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size, in amdgpu_vamgr_find_va() argument
80 alignment = MAX2(alignment, mgr->va_alignment); in amdgpu_vamgr_find_va()
81 size = ALIGN(size, mgr->va_alignment); in amdgpu_vamgr_find_va()
86 pthread_mutex_lock(&mgr->bo_va_mutex); in amdgpu_vamgr_find_va()
87 LIST_FOR_EACH_ENTRY_SAFE_REV(hole, n, &mgr->va_holes, list) { in amdgpu_vamgr_find_va()
107 pthread_mutex_unlock(&mgr->bo_va_mutex); in amdgpu_vamgr_find_va()
119 pthread_mutex_unlock(&mgr->bo_va_mutex); in amdgpu_vamgr_find_va()
124 pthread_mutex_unlock(&mgr->bo_va_mutex); in amdgpu_vamgr_find_va()
129 pthread_mutex_unlock(&mgr->bo_va_mutex); in amdgpu_vamgr_find_va()
134 amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size) in amdgpu_vamgr_free_va() argument
141 size = ALIGN(size, mgr->va_alignment); in amdgpu_vamgr_free_va()
143 pthread_mutex_lock(&mgr->bo_va_mutex); in amdgpu_vamgr_free_va()
144 hole = container_of(&mgr->va_holes, hole, list); in amdgpu_vamgr_free_va()
145 LIST_FOR_EACH_ENTRY(next, &mgr->va_holes, list) { in amdgpu_vamgr_free_va()
151 if (&hole->list != &mgr->va_holes) { in amdgpu_vamgr_free_va()
158 &next->list != &mgr->va_holes && in amdgpu_vamgr_free_va()
169 if (next != hole && &next->list != &mgr->va_holes && in amdgpu_vamgr_free_va()
186 pthread_mutex_unlock(&mgr->bo_va_mutex); in amdgpu_vamgr_free_va()