Lines Matching refs:mgr
48 to_amdgpu_device(struct amdgpu_vram_mgr *mgr) in to_amdgpu_device() argument
50 return container_of(mgr, struct amdgpu_device, mman.vram_mgr); in to_amdgpu_device()
271 struct amdgpu_vram_mgr *mgr = to_vram_mgr(man); in amdgpu_vram_mgr_do_reserve() local
272 struct amdgpu_device *adev = to_amdgpu_device(mgr); in amdgpu_vram_mgr_do_reserve()
273 struct drm_buddy *mm = &mgr->mm; in amdgpu_vram_mgr_do_reserve()
278 list_for_each_entry_safe(rsv, temp, &mgr->reservations_pending, blocks) { in amdgpu_vram_mgr_do_reserve()
292 atomic64_add(vis_usage, &mgr->vis_usage); in amdgpu_vram_mgr_do_reserve()
296 list_move(&rsv->blocks, &mgr->reserved_pages); in amdgpu_vram_mgr_do_reserve()
309 int amdgpu_vram_mgr_reserve_range(struct amdgpu_vram_mgr *mgr, in amdgpu_vram_mgr_reserve_range() argument
324 mutex_lock(&mgr->lock); in amdgpu_vram_mgr_reserve_range()
325 list_add_tail(&rsv->blocks, &mgr->reservations_pending); in amdgpu_vram_mgr_reserve_range()
326 amdgpu_vram_mgr_do_reserve(&mgr->manager); in amdgpu_vram_mgr_reserve_range()
327 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_reserve_range()
343 int amdgpu_vram_mgr_query_page_status(struct amdgpu_vram_mgr *mgr, in amdgpu_vram_mgr_query_page_status() argument
349 mutex_lock(&mgr->lock); in amdgpu_vram_mgr_query_page_status()
351 list_for_each_entry(rsv, &mgr->reservations_pending, blocks) { in amdgpu_vram_mgr_query_page_status()
359 list_for_each_entry(rsv, &mgr->reserved_pages, blocks) { in amdgpu_vram_mgr_query_page_status()
369 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_query_page_status()
428 struct amdgpu_vram_mgr *mgr = to_vram_mgr(man); in amdgpu_vram_mgr_new() local
429 struct amdgpu_device *adev = to_amdgpu_device(mgr); in amdgpu_vram_mgr_new()
432 struct drm_buddy *mm = &mgr->mm; in amdgpu_vram_mgr_new()
477 if (fpfn || lpfn != mgr->mm.size) in amdgpu_vram_mgr_new()
483 mutex_lock(&mgr->lock); in amdgpu_vram_mgr_new()
488 min_block_size = mgr->default_page_size; in amdgpu_vram_mgr_new()
532 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_new()
558 mutex_lock(&mgr->lock); in amdgpu_vram_mgr_new()
562 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_new()
593 atomic64_add(vis_usage, &mgr->vis_usage); in amdgpu_vram_mgr_new()
599 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_new()
619 struct amdgpu_vram_mgr *mgr = to_vram_mgr(man); in amdgpu_vram_mgr_del() local
620 struct amdgpu_device *adev = to_amdgpu_device(mgr); in amdgpu_vram_mgr_del()
621 struct drm_buddy *mm = &mgr->mm; in amdgpu_vram_mgr_del()
625 mutex_lock(&mgr->lock); in amdgpu_vram_mgr_del()
632 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_del()
634 atomic64_sub(vis_usage, &mgr->vis_usage); in amdgpu_vram_mgr_del()
758 uint64_t amdgpu_vram_mgr_vis_usage(struct amdgpu_vram_mgr *mgr) in amdgpu_vram_mgr_vis_usage() argument
760 return atomic64_read(&mgr->vis_usage); in amdgpu_vram_mgr_vis_usage()
778 struct amdgpu_vram_mgr_resource *mgr = to_amdgpu_vram_mgr_resource(res); in amdgpu_vram_mgr_intersects() local
782 list_for_each_entry(block, &mgr->blocks, link) { in amdgpu_vram_mgr_intersects()
811 struct amdgpu_vram_mgr_resource *mgr = to_amdgpu_vram_mgr_resource(res); in amdgpu_vram_mgr_compatible() local
815 list_for_each_entry(block, &mgr->blocks, link) { in amdgpu_vram_mgr_compatible()
840 struct amdgpu_vram_mgr *mgr = to_vram_mgr(man); in amdgpu_vram_mgr_debug() local
841 struct drm_buddy *mm = &mgr->mm; in amdgpu_vram_mgr_debug()
845 amdgpu_vram_mgr_vis_usage(mgr)); in amdgpu_vram_mgr_debug()
847 mutex_lock(&mgr->lock); in amdgpu_vram_mgr_debug()
849 mgr->default_page_size >> 10); in amdgpu_vram_mgr_debug()
854 list_for_each_entry(rsv, &mgr->reserved_pages, blocks) in amdgpu_vram_mgr_debug()
857 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_debug()
885 struct amdgpu_vram_mgr *mgr = &adev->mman.vram_mgr; in amdgpu_vram_mgr_init() local
886 struct ttm_resource_manager *man = &mgr->manager; in amdgpu_vram_mgr_init()
892 mutex_init(&mgr->lock); in amdgpu_vram_mgr_init()
893 INIT_LIST_HEAD(&mgr->reservations_pending); in amdgpu_vram_mgr_init()
894 INIT_LIST_HEAD(&mgr->reserved_pages); in amdgpu_vram_mgr_init()
895 mgr->default_page_size = PAGE_SIZE; in amdgpu_vram_mgr_init()
900 err = drm_buddy_init(&mgr->mm, man->size, PAGE_SIZE); in amdgpu_vram_mgr_init()
908 ttm_set_driver_manager(&adev->mman.bdev, TTM_PL_VRAM, &mgr->manager); in amdgpu_vram_mgr_init()
923 struct amdgpu_vram_mgr *mgr = &adev->mman.vram_mgr; in amdgpu_vram_mgr_fini() local
924 struct ttm_resource_manager *man = &mgr->manager; in amdgpu_vram_mgr_fini()
934 mutex_lock(&mgr->lock); in amdgpu_vram_mgr_fini()
935 list_for_each_entry_safe(rsv, temp, &mgr->reservations_pending, blocks) in amdgpu_vram_mgr_fini()
938 list_for_each_entry_safe(rsv, temp, &mgr->reserved_pages, blocks) { in amdgpu_vram_mgr_fini()
939 drm_buddy_free_list(&mgr->mm, &rsv->allocated); in amdgpu_vram_mgr_fini()
943 drm_buddy_fini(&mgr->mm); in amdgpu_vram_mgr_fini()
944 mutex_unlock(&mgr->lock); in amdgpu_vram_mgr_fini()