Lines Matching refs:vma
37 static bool assert_vma(struct i915_vma *vma, in assert_vma() argument
43 if (vma->vm != ctx->vm) { in assert_vma()
48 if (vma->size != obj->base.size) { in assert_vma()
50 vma->size, obj->base.size); in assert_vma()
54 if (vma->gtt_view.type != I915_GTT_VIEW_NORMAL) { in assert_vma()
56 vma->gtt_view.type); in assert_vma()
68 struct i915_vma *vma; in checked_vma_instance() local
71 vma = i915_vma_instance(obj, vm, view); in checked_vma_instance()
72 if (IS_ERR(vma)) in checked_vma_instance()
73 return vma; in checked_vma_instance()
76 if (vma->vm != vm) { in checked_vma_instance()
78 vma->vm, vm); in checked_vma_instance()
82 if (i915_is_ggtt(vm) != i915_vma_is_ggtt(vma)) { in checked_vma_instance()
84 i915_vma_is_ggtt(vma), i915_is_ggtt(vm)); in checked_vma_instance()
88 if (i915_vma_compare(vma, vm, view)) { in checked_vma_instance()
93 if (i915_vma_compare(vma, vma->vm, in checked_vma_instance()
94 i915_vma_is_ggtt(vma) ? &vma->gtt_view : NULL)) { in checked_vma_instance()
104 return vma; in checked_vma_instance()
119 struct i915_vma *vma; in create_vmas() local
123 vma = checked_vma_instance(obj, vm, NULL); in create_vmas()
125 if (IS_ERR(vma)) in create_vmas()
126 return PTR_ERR(vma); in create_vmas()
128 if (!assert_vma(vma, obj, ctx)) { in create_vmas()
134 err = i915_vma_pin(vma, 0, 0, PIN_USER); in create_vmas()
140 i915_vma_unpin(vma); in create_vmas()
227 static bool assert_pin_valid(const struct i915_vma *vma, in assert_pin_valid() argument
234 if (i915_vma_misplaced(vma, mode->size, 0, mode->flags)) in assert_pin_valid()
241 static bool assert_pin_enospc(const struct i915_vma *vma, in assert_pin_enospc() argument
249 static bool assert_pin_einval(const struct i915_vma *vma, in assert_pin_einval() argument
312 struct i915_vma *vma; in igt_vma_pin1() local
325 vma = checked_vma_instance(obj, &ggtt->vm, NULL); in igt_vma_pin1()
326 if (IS_ERR(vma)) in igt_vma_pin1()
330 err = i915_vma_pin(vma, m->size, 0, m->flags); in igt_vma_pin1()
331 if (!m->assert(vma, m, err)) { in igt_vma_pin1()
337 i915_vma_unpin(vma); in igt_vma_pin1()
343 i915_vma_unpin(vma); in igt_vma_pin1()
344 err = i915_vma_unbind_unlocked(vma); in igt_vma_pin1()
616 struct i915_vma *vma; in igt_vma_rotate_remap() local
619 vma = checked_vma_instance(obj, vm, &view); in igt_vma_rotate_remap()
620 if (IS_ERR(vma)) { in igt_vma_rotate_remap()
621 err = PTR_ERR(vma); in igt_vma_rotate_remap()
625 err = i915_vma_pin(vma, 0, 0, PIN_GLOBAL); in igt_vma_rotate_remap()
634 vma->size != expected_pages * PAGE_SIZE) { in igt_vma_rotate_remap()
636 PAGE_SIZE * expected_pages, vma->size); in igt_vma_rotate_remap()
642 vma->size > expected_pages * PAGE_SIZE) { in igt_vma_rotate_remap()
644 PAGE_SIZE * expected_pages, vma->size); in igt_vma_rotate_remap()
649 if (vma->pages->nents > expected_pages) { in igt_vma_rotate_remap()
651 expected_pages, vma->pages->nents); in igt_vma_rotate_remap()
656 if (vma->node.size < vma->size) { in igt_vma_rotate_remap()
658 vma->size, vma->node.size); in igt_vma_rotate_remap()
663 if (vma->pages == obj->mm.pages) { in igt_vma_rotate_remap()
669 sg = vma->pages->sgl; in igt_vma_rotate_remap()
694 i915_vma_unpin(vma); in igt_vma_rotate_remap()
695 err = i915_vma_unbind_unlocked(vma); in igt_vma_rotate_remap()
714 struct i915_vma *vma, in assert_partial() argument
721 for_each_sgt_daddr(dma, sgt, vma->pages) { in assert_partial()
743 static bool assert_pin(struct i915_vma *vma, in assert_pin() argument
750 if (vma->size != size) { in assert_pin()
752 name, size, vma->size); in assert_pin()
756 if (vma->node.size < vma->size) { in assert_pin()
758 name, vma->size, vma->node.size); in assert_pin()
763 if (memcmp(&vma->gtt_view, view, sizeof(*view))) { in assert_pin()
769 if (vma->pages == vma->obj->mm.pages) { in assert_pin()
775 if (vma->gtt_view.type != I915_GTT_VIEW_NORMAL) { in assert_pin()
777 vma->gtt_view.type); in assert_pin()
781 if (vma->pages != vma->obj->mm.pages) { in assert_pin()
804 struct i915_vma *vma; in igt_vma_partial() local
830 vma = checked_vma_instance(obj, vm, &view); in igt_vma_partial()
831 if (IS_ERR(vma)) { in igt_vma_partial()
832 err = PTR_ERR(vma); in igt_vma_partial()
836 err = i915_vma_pin(vma, 0, 0, PIN_GLOBAL); in igt_vma_partial()
840 if (!assert_pin(vma, &view, sz*PAGE_SIZE, p->name)) { in igt_vma_partial()
847 if (!assert_partial(obj, vma, offset, sz)) { in igt_vma_partial()
854 i915_vma_unpin(vma); in igt_vma_partial()
856 err = i915_vma_unbind_unlocked(vma); in igt_vma_partial()
867 list_for_each_entry(vma, &obj->vma.list, obj_link) in igt_vma_partial()
877 vma = checked_vma_instance(obj, vm, NULL); in igt_vma_partial()
878 if (IS_ERR(vma)) { in igt_vma_partial()
879 err = PTR_ERR(vma); in igt_vma_partial()
883 err = i915_vma_pin(vma, 0, 0, PIN_GLOBAL); in igt_vma_partial()
887 if (!assert_pin(vma, NULL, obj->base.size, p->name)) { in igt_vma_partial()
893 i915_vma_unpin(vma); in igt_vma_partial()
895 err = i915_vma_unbind_unlocked(vma); in igt_vma_partial()
902 list_for_each_entry(vma, &obj->vma.list, obj_link) in igt_vma_partial()
1004 struct i915_vma *vma; in igt_vma_remapped_gtt() local
1018 vma = i915_gem_object_ggtt_pin(obj, &view, 0, 0, PIN_MAPPABLE); in igt_vma_remapped_gtt()
1019 if (IS_ERR(vma)) { in igt_vma_remapped_gtt()
1020 err = PTR_ERR(vma); in igt_vma_remapped_gtt()
1024 GEM_BUG_ON(vma->gtt_view.type != *t); in igt_vma_remapped_gtt()
1026 map = i915_vma_pin_iomap(vma); in igt_vma_remapped_gtt()
1027 i915_vma_unpin(vma); in igt_vma_remapped_gtt()
1047 i915_vma_unpin_iomap(vma); in igt_vma_remapped_gtt()
1049 vma = i915_gem_object_ggtt_pin(obj, NULL, 0, 0, PIN_MAPPABLE); in igt_vma_remapped_gtt()
1050 if (IS_ERR(vma)) { in igt_vma_remapped_gtt()
1051 err = PTR_ERR(vma); in igt_vma_remapped_gtt()
1055 GEM_BUG_ON(vma->gtt_view.type != I915_GTT_VIEW_NORMAL); in igt_vma_remapped_gtt()
1057 map = i915_vma_pin_iomap(vma); in igt_vma_remapped_gtt()
1058 i915_vma_unpin(vma); in igt_vma_remapped_gtt()
1081 i915_vma_unpin_iomap(vma); in igt_vma_remapped_gtt()
1087 i915_vma_unpin_iomap(vma); in igt_vma_remapped_gtt()