Lines Matching defs:mgr
44 drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
49 mgr->va_max = max;
50 mgr->va_alignment = alignment;
52 list_inithead(&mgr->va_holes);
53 pthread_mutex_init(&mgr->bo_va_mutex, NULL);
54 pthread_mutex_lock(&mgr->bo_va_mutex);
56 n->size = mgr->va_max - start;
58 list_add(&n->list, &mgr->va_holes);
59 pthread_mutex_unlock(&mgr->bo_va_mutex);
62 drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr)
65 LIST_FOR_EACH_ENTRY_SAFE(hole, tmp, &mgr->va_holes, list) {
69 pthread_mutex_destroy(&mgr->bo_va_mutex);
101 amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
110 alignment = MAX2(alignment, mgr->va_alignment);
111 size = ALIGN(size, mgr->va_alignment);
116 pthread_mutex_lock(&mgr->bo_va_mutex);
118 LIST_FOR_EACH_ENTRY_SAFE_REV(hole, n, &mgr->va_holes, list) {
134 pthread_mutex_unlock(&mgr->bo_va_mutex);
139 LIST_FOR_EACH_ENTRY_SAFE(hole, n, &mgr->va_holes, list) {
157 pthread_mutex_unlock(&mgr->bo_va_mutex);
163 pthread_mutex_unlock(&mgr->bo_va_mutex);
168 amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size)
175 size = ALIGN(size, mgr->va_alignment);
177 pthread_mutex_lock(&mgr->bo_va_mutex);
178 hole = container_of(&mgr->va_holes, hole, list);
179 LIST_FOR_EACH_ENTRY(next, &mgr->va_holes, list) {
185 if (&hole->list != &mgr->va_holes) {
192 &next->list != &mgr->va_holes &&
203 if (next != hole && &next->list != &mgr->va_holes &&
220 pthread_mutex_unlock(&mgr->bo_va_mutex);