Lines Matching refs:bo
297 dev_err(rdev->dev, "failed to allocate vm bo (%dKB)\n",
340 if (rdev->vm_manager.sa_manager.bo == NULL)
350 if (rdev->vm_manager.sa_manager.bo == NULL) {
438 return radeon_vm_bo_update_pte(rdev, vm, rdev->ib_pool.sa_manager.bo,
439 &rdev->ib_pool.sa_manager.bo->tbo.mem);
445 struct radeon_bo *bo,
451 uint64_t size = radeon_bo_size(bo), last_offset = 0;
459 bo_va->bo = bo;
499 /* bo can be added before this one */
503 /* bo and tmp overlap, invalid offset */
504 dev_err(rdev->dev, "bo %p va 0x%08X conflict with (bo %p 0x%08X 0x%08X)\n",
505 bo, (unsigned)bo_va->soffset, tmp->bo,
515 list_add_tail(&bo_va->bo_list, &bo->va);
551 struct radeon_bo *bo,
563 bo_va = radeon_bo_va(bo, vm);
565 dev_err(rdev->dev, "bo %p not in vm %p\n", bo, vm);
572 ngpu_pages = radeon_bo_ngpu_pages(bo);
599 struct radeon_bo *bo)
603 bo_va = radeon_bo_va(bo, vm);
609 radeon_vm_bo_update_pte(rdev, vm, bo, NULL);
620 struct radeon_bo *bo)
624 BUG_ON(!atomic_read(&bo->tbo.reserved));
625 list_for_each_entry(bo_va, &bo->va, bo_list) {
651 r = radeon_vm_bo_add(rdev, vm, rdev->ib_pool.sa_manager.bo, 0,
666 /* remove all bo */
667 r = radeon_bo_reserve(rdev->ib_pool.sa_manager.bo, false);
669 bo_va = radeon_bo_va(rdev->ib_pool.sa_manager.bo, vm);
672 radeon_bo_unreserve(rdev->ib_pool.sa_manager.bo);
676 dev_err(rdev->dev, "still active bo inside vm\n");
680 r = radeon_bo_reserve(bo_va->bo, false);
683 radeon_bo_unreserve(bo_va->bo);