Lines Matching refs:bb

524 	struct intel_vgpu_shadow_bb *bb;  in prepare_shadow_batch_buffer()  local
528 list_for_each_entry(bb, &workload->shadow_bb, list) { in prepare_shadow_batch_buffer()
536 if (bb->bb_offset) in prepare_shadow_batch_buffer()
537 bb->bb_start_cmd_va = workload->shadow_ring_buffer_va in prepare_shadow_batch_buffer()
538 + bb->bb_offset; in prepare_shadow_batch_buffer()
549 if (!bb->ppgtt) { in prepare_shadow_batch_buffer()
552 i915_gem_object_lock(bb->obj, &ww); in prepare_shadow_batch_buffer()
554 bb->vma = i915_gem_object_ggtt_pin_ww(bb->obj, &ww, in prepare_shadow_batch_buffer()
556 if (IS_ERR(bb->vma)) { in prepare_shadow_batch_buffer()
557 ret = PTR_ERR(bb->vma); in prepare_shadow_batch_buffer()
567 bb->bb_start_cmd_va[1] = i915_ggtt_offset(bb->vma); in prepare_shadow_batch_buffer()
569 bb->bb_start_cmd_va[2] = 0; in prepare_shadow_batch_buffer()
571 ret = i915_vma_move_to_active(bb->vma, in prepare_shadow_batch_buffer()
578 i915_gem_object_flush_map(bb->obj); in prepare_shadow_batch_buffer()
657 struct intel_vgpu_shadow_bb *bb, *pos; in release_shadow_batch_buffer() local
662 bb = list_first_entry(&workload->shadow_bb, in release_shadow_batch_buffer()
665 list_for_each_entry_safe(bb, pos, &workload->shadow_bb, list) { in release_shadow_batch_buffer()
666 if (bb->obj) { in release_shadow_batch_buffer()
667 i915_gem_object_lock(bb->obj, NULL); in release_shadow_batch_buffer()
668 if (bb->va && !IS_ERR(bb->va)) in release_shadow_batch_buffer()
669 i915_gem_object_unpin_map(bb->obj); in release_shadow_batch_buffer()
671 if (bb->vma && !IS_ERR(bb->vma)) in release_shadow_batch_buffer()
672 i915_vma_unpin(bb->vma); in release_shadow_batch_buffer()
674 i915_gem_object_unlock(bb->obj); in release_shadow_batch_buffer()
675 i915_gem_object_put(bb->obj); in release_shadow_batch_buffer()
677 list_del(&bb->list); in release_shadow_batch_buffer()
678 kfree(bb); in release_shadow_batch_buffer()