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);