Lines Matching refs:backup
1113 * On successful completion, the object backup pages are allocated. Expectation
1121 struct xe_bo *backup;
1142 backup = ___xe_bo_create_locked(xe, NULL, NULL, bo->ttm.base.resv, NULL, xe_bo_size(bo),
1146 if (IS_ERR(backup)) {
1147 ret = PTR_ERR(backup);
1151 backup->parent_obj = xe_bo_get(bo); /* Released by bo_destroy */
1152 ttm_bo_pin(&backup->ttm);
1153 bo->backup_obj = backup;
1164 * Always returns 0. The backup object is removed, if still present. Expectation
1196 struct xe_bo *backup = bo->backup_obj;
1219 if (!backup) {
1220 backup = ___xe_bo_create_locked(xe, NULL, NULL, bo->ttm.base.resv,
1225 if (IS_ERR(backup)) {
1226 ret = PTR_ERR(backup);
1229 backup->parent_obj = xe_bo_get(bo); /* Released by bo_destroy */
1246 ret = dma_resv_reserve_fences(backup->ttm.base.resv, 1);
1250 fence = xe_migrate_copy(migrate, bo, backup, bo->ttm.resource,
1251 backup->ttm.resource, false);
1259 dma_resv_add_fence(backup->ttm.base.resv, fence,
1263 ret = xe_bo_vmap(backup);
1274 xe_map_memcpy_from(xe, backup->vmap.vaddr, &bo->vmap, 0,
1279 bo->backup_obj = backup;
1282 xe_bo_vunmap(backup);
1284 xe_bo_put(backup);
1310 struct xe_bo *backup = bo->backup_obj;
1314 if (!backup)
1319 if (!xe_bo_is_pinned(backup)) {
1320 ret = ttm_bo_validate(&backup->ttm, &backup->placement, &ctx);
1338 ret = dma_resv_reserve_fences(backup->ttm.base.resv, 1);
1342 fence = xe_migrate_copy(migrate, backup, bo,
1343 backup->ttm.resource, bo->ttm.resource,
1352 dma_resv_add_fence(backup->ttm.base.resv, fence,
1356 ret = xe_bo_vmap(backup);
1367 xe_map_memcpy_to(xe, &bo->vmap, 0, backup->vmap.vaddr,
1374 xe_bo_vunmap(backup);
1376 if (xe_bo_is_pinned(backup))
1377 ttm_bo_unpin(&backup->ttm);
1378 xe_bo_put(backup);