Lines Matching refs:backup

47 	struct vmw_buffer_object *backup = res->backup;  in vmw_resource_mob_attach()  local
48 struct rb_node **new = &backup->res_tree.rb_node, *parent = NULL; in vmw_resource_mob_attach()
50 dma_resv_assert_held(res->backup->base.base.resv); in vmw_resource_mob_attach()
67 rb_insert_color(&res->mob_node, &backup->res_tree); in vmw_resource_mob_attach()
71 vmw_bo_prio_add(backup, res->used_prio); in vmw_resource_mob_attach()
80 struct vmw_buffer_object *backup = res->backup; in vmw_resource_mob_detach() local
82 dma_resv_assert_held(backup->base.base.resv); in vmw_resource_mob_detach()
85 rb_erase(&res->mob_node, &backup->res_tree); in vmw_resource_mob_detach()
87 vmw_bo_prio_del(backup, res->used_prio); in vmw_resource_mob_detach()
133 if (res->backup) { in vmw_resource_release()
134 struct ttm_buffer_object *bo = &res->backup->base; in vmw_resource_release()
150 vmw_bo_dirty_release(res->backup); in vmw_resource_release()
152 vmw_bo_unreference(&res->backup); in vmw_resource_release()
236 res->backup = NULL; in vmw_resource_init()
370 struct vmw_buffer_object *backup; in vmw_resource_buf_alloc() local
373 if (likely(res->backup)) { in vmw_resource_buf_alloc()
374 BUG_ON(res->backup->base.num_pages * PAGE_SIZE < size); in vmw_resource_buf_alloc()
378 backup = kzalloc(sizeof(*backup), GFP_KERNEL); in vmw_resource_buf_alloc()
379 if (unlikely(!backup)) in vmw_resource_buf_alloc()
382 ret = vmw_bo_init(res->dev_priv, backup, res->backup_size, in vmw_resource_buf_alloc()
389 res->backup = backup; in vmw_resource_buf_alloc()
436 if (res->backup->dirty && !res->dirty) { in vmw_resource_do_validate()
440 } else if (!res->backup->dirty && res->dirty) { in vmw_resource_do_validate()
456 vmw_bo_dirty_unmap(res->backup, start, end); in vmw_resource_do_validate()
498 if (switch_backup && new_backup != res->backup) { in vmw_resource_unreserve()
499 if (res->backup) { in vmw_resource_unreserve()
502 vmw_bo_dirty_release(res->backup); in vmw_resource_unreserve()
503 vmw_bo_unreference(&res->backup); in vmw_resource_unreserve()
507 res->backup = vmw_bo_reference(new_backup); in vmw_resource_unreserve()
517 res->backup = NULL; in vmw_resource_unreserve()
520 vmw_bo_dirty_release(res->backup); in vmw_resource_unreserve()
561 if (unlikely(res->backup == NULL)) { in vmw_resource_check_buffer()
568 ttm_bo_get(&res->backup->base); in vmw_resource_check_buffer()
569 val_buf->bo = &res->backup->base; in vmw_resource_check_buffer()
580 ret = ttm_bo_validate(&res->backup->base, in vmw_resource_check_buffer()
595 vmw_bo_unreference(&res->backup); in vmw_resource_check_buffer()
620 if (res->func->needs_backup && res->backup == NULL && in vmw_resource_reserve()
727 if (res->backup) in vmw_resource_validate()
728 val_buf.bo = &res->backup->base; in vmw_resource_validate()
768 else if (!res->func->needs_backup && res->backup) { in vmw_resource_validate()
770 vmw_bo_unreference(&res->backup); in vmw_resource_validate()
1012 if (res->backup) { in vmw_resource_pin()
1013 vbo = res->backup; in vmw_resource_pin()
1067 if (--res->pin_count == 0 && res->backup) { in vmw_resource_unpin()
1068 struct vmw_buffer_object *vbo = res->backup; in vmw_resource_unpin()