Lines Matching refs:bo
174 static void amdgpu_evict_flags(struct ttm_buffer_object *bo, in amdgpu_evict_flags() argument
184 if (!amdgpu_ttm_bo_is_amdgpu_bo(bo)) { in amdgpu_evict_flags()
191 rbo = container_of(bo, struct amdgpu_bo, tbo); in amdgpu_evict_flags()
192 switch (bo->mem.mem_type) { in amdgpu_evict_flags()
206 static int amdgpu_verify_access(struct ttm_buffer_object *bo, struct file *filp) in amdgpu_verify_access() argument
208 struct amdgpu_bo *rbo = container_of(bo, struct amdgpu_bo, tbo); in amdgpu_verify_access()
213 static void amdgpu_move_null(struct ttm_buffer_object *bo, in amdgpu_move_null() argument
216 struct ttm_mem_reg *old_mem = &bo->mem; in amdgpu_move_null()
223 static int amdgpu_move_blit(struct ttm_buffer_object *bo, in amdgpu_move_blit() argument
234 adev = amdgpu_get_adev(bo->bdev); in amdgpu_move_blit()
270 bo->resv, &fence); in amdgpu_move_blit()
272 r = ttm_bo_move_accel_cleanup(bo, fence, in amdgpu_move_blit()
278 static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo, in amdgpu_move_vram_ram() argument
284 struct ttm_mem_reg *old_mem = &bo->mem; in amdgpu_move_vram_ram()
290 adev = amdgpu_get_adev(bo->bdev); in amdgpu_move_vram_ram()
300 r = ttm_bo_mem_space(bo, &placement, &tmp_mem, in amdgpu_move_vram_ram()
306 r = ttm_tt_set_placement_caching(bo->ttm, tmp_mem.placement); in amdgpu_move_vram_ram()
311 r = ttm_tt_bind(bo->ttm, &tmp_mem); in amdgpu_move_vram_ram()
315 r = amdgpu_move_blit(bo, true, no_wait_gpu, &tmp_mem, old_mem); in amdgpu_move_vram_ram()
319 r = ttm_bo_move_ttm(bo, true, no_wait_gpu, new_mem); in amdgpu_move_vram_ram()
321 ttm_bo_mem_put(bo, &tmp_mem); in amdgpu_move_vram_ram()
325 static int amdgpu_move_ram_vram(struct ttm_buffer_object *bo, in amdgpu_move_ram_vram() argument
331 struct ttm_mem_reg *old_mem = &bo->mem; in amdgpu_move_ram_vram()
337 adev = amdgpu_get_adev(bo->bdev); in amdgpu_move_ram_vram()
347 r = ttm_bo_mem_space(bo, &placement, &tmp_mem, in amdgpu_move_ram_vram()
352 r = ttm_bo_move_ttm(bo, true, no_wait_gpu, &tmp_mem); in amdgpu_move_ram_vram()
356 r = amdgpu_move_blit(bo, true, no_wait_gpu, new_mem, old_mem); in amdgpu_move_ram_vram()
361 ttm_bo_mem_put(bo, &tmp_mem); in amdgpu_move_ram_vram()
365 static int amdgpu_bo_move(struct ttm_buffer_object *bo, in amdgpu_bo_move() argument
371 struct ttm_mem_reg *old_mem = &bo->mem; in amdgpu_bo_move()
374 adev = amdgpu_get_adev(bo->bdev); in amdgpu_bo_move()
375 if (old_mem->mem_type == TTM_PL_SYSTEM && bo->ttm == NULL) { in amdgpu_bo_move()
376 amdgpu_move_null(bo, new_mem); in amdgpu_bo_move()
384 amdgpu_move_null(bo, new_mem); in amdgpu_bo_move()
396 r = amdgpu_move_vram_ram(bo, evict, interruptible, in amdgpu_bo_move()
400 r = amdgpu_move_ram_vram(bo, evict, interruptible, in amdgpu_bo_move()
403 r = amdgpu_move_blit(bo, evict, no_wait_gpu, new_mem, old_mem); in amdgpu_bo_move()
408 r = ttm_bo_move_memcpy(bo, evict, no_wait_gpu, new_mem); in amdgpu_bo_move()
415 atomic64_add((u64)bo->num_pages << PAGE_SHIFT, &adev->num_bytes_moved); in amdgpu_bo_move()