sa_bo             405 drivers/gpu/drm/amd/amdgpu/amdgpu.h 	struct amdgpu_sa_bo		*sa_bo;
sa_bo              71 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c 				      &ib->sa_bo, size, 256);
sa_bo              77 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c 		ib->ptr = amdgpu_sa_bo_cpu_addr(ib->sa_bo);
sa_bo              80 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c 			ib->gpu_addr = amdgpu_sa_bo_gpu_addr(ib->sa_bo);
sa_bo              98 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c 	amdgpu_sa_bo_free(adev, &ib->sa_bo, f);
sa_bo             286 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h static inline uint64_t amdgpu_sa_bo_gpu_addr(struct amdgpu_sa_bo *sa_bo)
sa_bo             288 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h 	return sa_bo->manager->gpu_addr + sa_bo->soffset;
sa_bo             291 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h static inline void * amdgpu_sa_bo_cpu_addr(struct amdgpu_sa_bo *sa_bo)
sa_bo             293 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h 	return sa_bo->manager->cpu_ptr + sa_bo->soffset;
sa_bo             304 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h 		     struct amdgpu_sa_bo **sa_bo,
sa_bo             307 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h 			      struct amdgpu_sa_bo **sa_bo,
sa_bo              47 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c static void amdgpu_sa_bo_remove_locked(struct amdgpu_sa_bo *sa_bo);
sa_bo              80 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	struct amdgpu_sa_bo *sa_bo, *tmp;
sa_bo              94 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	list_for_each_entry_safe(sa_bo, tmp, &sa_manager->olist, olist) {
sa_bo              95 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		amdgpu_sa_bo_remove_locked(sa_bo);
sa_bo             102 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c static void amdgpu_sa_bo_remove_locked(struct amdgpu_sa_bo *sa_bo)
sa_bo             104 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	struct amdgpu_sa_manager *sa_manager = sa_bo->manager;
sa_bo             105 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	if (sa_manager->hole == &sa_bo->olist) {
sa_bo             106 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		sa_manager->hole = sa_bo->olist.prev;
sa_bo             108 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	list_del_init(&sa_bo->olist);
sa_bo             109 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	list_del_init(&sa_bo->flist);
sa_bo             110 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	dma_fence_put(sa_bo->fence);
sa_bo             111 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	kfree(sa_bo);
sa_bo             116 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	struct amdgpu_sa_bo *sa_bo, *tmp;
sa_bo             121 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	sa_bo = list_entry(sa_manager->hole->next, struct amdgpu_sa_bo, olist);
sa_bo             122 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	list_for_each_entry_safe_from(sa_bo, tmp, &sa_manager->olist, olist) {
sa_bo             123 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		if (sa_bo->fence == NULL ||
sa_bo             124 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		    !dma_fence_is_signaled(sa_bo->fence)) {
sa_bo             127 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		amdgpu_sa_bo_remove_locked(sa_bo);
sa_bo             152 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 				   struct amdgpu_sa_bo *sa_bo,
sa_bo             164 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		sa_bo->manager = sa_manager;
sa_bo             165 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		sa_bo->soffset = soffset;
sa_bo             166 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		sa_bo->eoffset = soffset + size;
sa_bo             167 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		list_add(&sa_bo->olist, sa_manager->hole);
sa_bo             168 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		INIT_LIST_HEAD(&sa_bo->flist);
sa_bo             169 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		sa_manager->hole = &sa_bo->olist;
sa_bo             227 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		struct amdgpu_sa_bo *sa_bo;
sa_bo             234 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		sa_bo = list_first_entry(&sa_manager->flist[i],
sa_bo             237 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		if (!dma_fence_is_signaled(sa_bo->fence)) {
sa_bo             238 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 			fences[i] = sa_bo->fence;
sa_bo             247 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		tmp = sa_bo->soffset;
sa_bo             256 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 			best_bo = sa_bo;
sa_bo             276 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		     struct amdgpu_sa_bo **sa_bo,
sa_bo             291 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	*sa_bo = kmalloc(sizeof(struct amdgpu_sa_bo), GFP_KERNEL);
sa_bo             292 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	if (!(*sa_bo))
sa_bo             294 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	(*sa_bo)->manager = sa_manager;
sa_bo             295 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	(*sa_bo)->fence = NULL;
sa_bo             296 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	INIT_LIST_HEAD(&(*sa_bo)->olist);
sa_bo             297 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	INIT_LIST_HEAD(&(*sa_bo)->flist);
sa_bo             307 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 			if (amdgpu_sa_bo_try_alloc(sa_manager, *sa_bo,
sa_bo             341 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	kfree(*sa_bo);
sa_bo             342 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	*sa_bo = NULL;
sa_bo             346 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c void amdgpu_sa_bo_free(struct amdgpu_device *adev, struct amdgpu_sa_bo **sa_bo,
sa_bo             351 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	if (sa_bo == NULL || *sa_bo == NULL) {
sa_bo             355 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	sa_manager = (*sa_bo)->manager;
sa_bo             360 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		(*sa_bo)->fence = dma_fence_get(fence);
sa_bo             362 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		list_add_tail(&(*sa_bo)->flist, &sa_manager->flist[idx]);
sa_bo             364 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 		amdgpu_sa_bo_remove_locked(*sa_bo);
sa_bo             368 drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c 	*sa_bo = NULL;
sa_bo             986 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c 	ib->gpu_addr = amdgpu_sa_bo_gpu_addr(ib->sa_bo);
sa_bo             723 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c 	ib->gpu_addr = amdgpu_sa_bo_gpu_addr(ib->sa_bo);
sa_bo             593 drivers/gpu/drm/radeon/radeon.h 	struct radeon_sa_bo	*sa_bo;
sa_bo             822 drivers/gpu/drm/radeon/radeon.h 	struct radeon_sa_bo		*sa_bo;
sa_bo             286 drivers/gpu/drm/radeon/radeon_cs.c 	p->ib.sa_bo = NULL;
sa_bo             287 drivers/gpu/drm/radeon/radeon_cs.c 	p->const_ib.sa_bo = NULL;
sa_bo              64 drivers/gpu/drm/radeon/radeon_ib.c 	r = radeon_sa_bo_new(rdev, &rdev->ring_tmp_bo, &ib->sa_bo, size, 256);
sa_bo              74 drivers/gpu/drm/radeon/radeon_ib.c 	ib->ptr = radeon_sa_bo_cpu_addr(ib->sa_bo);
sa_bo              80 drivers/gpu/drm/radeon/radeon_ib.c 		ib->gpu_addr = ib->sa_bo->soffset + RADEON_VA_IB_OFFSET;
sa_bo              82 drivers/gpu/drm/radeon/radeon_ib.c 		ib->gpu_addr = radeon_sa_bo_gpu_addr(ib->sa_bo);
sa_bo             100 drivers/gpu/drm/radeon/radeon_ib.c 	radeon_sa_bo_free(rdev, &ib->sa_bo, ib->fence);
sa_bo             164 drivers/gpu/drm/radeon/radeon_object.h static inline uint64_t radeon_sa_bo_gpu_addr(struct radeon_sa_bo *sa_bo)
sa_bo             166 drivers/gpu/drm/radeon/radeon_object.h 	return sa_bo->manager->gpu_addr + sa_bo->soffset;
sa_bo             169 drivers/gpu/drm/radeon/radeon_object.h static inline void * radeon_sa_bo_cpu_addr(struct radeon_sa_bo *sa_bo)
sa_bo             171 drivers/gpu/drm/radeon/radeon_object.h 	return sa_bo->manager->cpu_ptr + sa_bo->soffset;
sa_bo             186 drivers/gpu/drm/radeon/radeon_object.h 			    struct radeon_sa_bo **sa_bo,
sa_bo             189 drivers/gpu/drm/radeon/radeon_object.h 			      struct radeon_sa_bo **sa_bo,
sa_bo              47 drivers/gpu/drm/radeon/radeon_sa.c static void radeon_sa_bo_remove_locked(struct radeon_sa_bo *sa_bo);
sa_bo              80 drivers/gpu/drm/radeon/radeon_sa.c 	struct radeon_sa_bo *sa_bo, *tmp;
sa_bo              89 drivers/gpu/drm/radeon/radeon_sa.c 	list_for_each_entry_safe(sa_bo, tmp, &sa_manager->olist, olist) {
sa_bo              90 drivers/gpu/drm/radeon/radeon_sa.c 		radeon_sa_bo_remove_locked(sa_bo);
sa_bo             142 drivers/gpu/drm/radeon/radeon_sa.c static void radeon_sa_bo_remove_locked(struct radeon_sa_bo *sa_bo)
sa_bo             144 drivers/gpu/drm/radeon/radeon_sa.c 	struct radeon_sa_manager *sa_manager = sa_bo->manager;
sa_bo             145 drivers/gpu/drm/radeon/radeon_sa.c 	if (sa_manager->hole == &sa_bo->olist) {
sa_bo             146 drivers/gpu/drm/radeon/radeon_sa.c 		sa_manager->hole = sa_bo->olist.prev;
sa_bo             148 drivers/gpu/drm/radeon/radeon_sa.c 	list_del_init(&sa_bo->olist);
sa_bo             149 drivers/gpu/drm/radeon/radeon_sa.c 	list_del_init(&sa_bo->flist);
sa_bo             150 drivers/gpu/drm/radeon/radeon_sa.c 	radeon_fence_unref(&sa_bo->fence);
sa_bo             151 drivers/gpu/drm/radeon/radeon_sa.c 	kfree(sa_bo);
sa_bo             156 drivers/gpu/drm/radeon/radeon_sa.c 	struct radeon_sa_bo *sa_bo, *tmp;
sa_bo             161 drivers/gpu/drm/radeon/radeon_sa.c 	sa_bo = list_entry(sa_manager->hole->next, struct radeon_sa_bo, olist);
sa_bo             162 drivers/gpu/drm/radeon/radeon_sa.c 	list_for_each_entry_safe_from(sa_bo, tmp, &sa_manager->olist, olist) {
sa_bo             163 drivers/gpu/drm/radeon/radeon_sa.c 		if (sa_bo->fence == NULL || !radeon_fence_signaled(sa_bo->fence)) {
sa_bo             166 drivers/gpu/drm/radeon/radeon_sa.c 		radeon_sa_bo_remove_locked(sa_bo);
sa_bo             191 drivers/gpu/drm/radeon/radeon_sa.c 				   struct radeon_sa_bo *sa_bo,
sa_bo             203 drivers/gpu/drm/radeon/radeon_sa.c 		sa_bo->manager = sa_manager;
sa_bo             204 drivers/gpu/drm/radeon/radeon_sa.c 		sa_bo->soffset = soffset;
sa_bo             205 drivers/gpu/drm/radeon/radeon_sa.c 		sa_bo->eoffset = soffset + size;
sa_bo             206 drivers/gpu/drm/radeon/radeon_sa.c 		list_add(&sa_bo->olist, sa_manager->hole);
sa_bo             207 drivers/gpu/drm/radeon/radeon_sa.c 		INIT_LIST_HEAD(&sa_bo->flist);
sa_bo             208 drivers/gpu/drm/radeon/radeon_sa.c 		sa_manager->hole = &sa_bo->olist;
sa_bo             268 drivers/gpu/drm/radeon/radeon_sa.c 		struct radeon_sa_bo *sa_bo;
sa_bo             274 drivers/gpu/drm/radeon/radeon_sa.c 		sa_bo = list_first_entry(&sa_manager->flist[i],
sa_bo             277 drivers/gpu/drm/radeon/radeon_sa.c 		if (!radeon_fence_signaled(sa_bo->fence)) {
sa_bo             278 drivers/gpu/drm/radeon/radeon_sa.c 			fences[i] = sa_bo->fence;
sa_bo             287 drivers/gpu/drm/radeon/radeon_sa.c 		tmp = sa_bo->soffset;
sa_bo             296 drivers/gpu/drm/radeon/radeon_sa.c 			best_bo = sa_bo;
sa_bo             314 drivers/gpu/drm/radeon/radeon_sa.c 		     struct radeon_sa_bo **sa_bo,
sa_bo             324 drivers/gpu/drm/radeon/radeon_sa.c 	*sa_bo = kmalloc(sizeof(struct radeon_sa_bo), GFP_KERNEL);
sa_bo             325 drivers/gpu/drm/radeon/radeon_sa.c 	if ((*sa_bo) == NULL) {
sa_bo             328 drivers/gpu/drm/radeon/radeon_sa.c 	(*sa_bo)->manager = sa_manager;
sa_bo             329 drivers/gpu/drm/radeon/radeon_sa.c 	(*sa_bo)->fence = NULL;
sa_bo             330 drivers/gpu/drm/radeon/radeon_sa.c 	INIT_LIST_HEAD(&(*sa_bo)->olist);
sa_bo             331 drivers/gpu/drm/radeon/radeon_sa.c 	INIT_LIST_HEAD(&(*sa_bo)->flist);
sa_bo             343 drivers/gpu/drm/radeon/radeon_sa.c 			if (radeon_sa_bo_try_alloc(sa_manager, *sa_bo,
sa_bo             371 drivers/gpu/drm/radeon/radeon_sa.c 	kfree(*sa_bo);
sa_bo             372 drivers/gpu/drm/radeon/radeon_sa.c 	*sa_bo = NULL;
sa_bo             376 drivers/gpu/drm/radeon/radeon_sa.c void radeon_sa_bo_free(struct radeon_device *rdev, struct radeon_sa_bo **sa_bo,
sa_bo             381 drivers/gpu/drm/radeon/radeon_sa.c 	if (sa_bo == NULL || *sa_bo == NULL) {
sa_bo             385 drivers/gpu/drm/radeon/radeon_sa.c 	sa_manager = (*sa_bo)->manager;
sa_bo             388 drivers/gpu/drm/radeon/radeon_sa.c 		(*sa_bo)->fence = radeon_fence_ref(fence);
sa_bo             389 drivers/gpu/drm/radeon/radeon_sa.c 		list_add_tail(&(*sa_bo)->flist,
sa_bo             392 drivers/gpu/drm/radeon/radeon_sa.c 		radeon_sa_bo_remove_locked(*sa_bo);
sa_bo             396 drivers/gpu/drm/radeon/radeon_sa.c 	*sa_bo = NULL;
sa_bo              44 drivers/gpu/drm/radeon/radeon_semaphore.c 			     &(*semaphore)->sa_bo, 8, 8);
sa_bo              51 drivers/gpu/drm/radeon/radeon_semaphore.c 	(*semaphore)->gpu_addr = radeon_sa_bo_gpu_addr((*semaphore)->sa_bo);
sa_bo              53 drivers/gpu/drm/radeon/radeon_semaphore.c 	*((uint64_t *)radeon_sa_bo_cpu_addr((*semaphore)->sa_bo)) = 0;
sa_bo             103 drivers/gpu/drm/radeon/radeon_semaphore.c 	radeon_sa_bo_free(rdev, &(*semaphore)->sa_bo, fence);