• Home
  • Raw
  • Download

Lines Matching refs:vma

35 static bool assert_vma(struct i915_vma *vma,  in assert_vma()  argument
41 if (vma->vm != ctx->vm) { in assert_vma()
46 if (vma->size != obj->base.size) { in assert_vma()
48 vma->size, obj->base.size); in assert_vma()
52 if (vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL) { in assert_vma()
54 vma->ggtt_view.type); in assert_vma()
66 struct i915_vma *vma; in checked_vma_instance() local
69 vma = i915_vma_instance(obj, vm, view); in checked_vma_instance()
70 if (IS_ERR(vma)) in checked_vma_instance()
71 return vma; in checked_vma_instance()
74 if (vma->vm != vm) { in checked_vma_instance()
76 vma->vm, vm); in checked_vma_instance()
80 if (i915_is_ggtt(vm) != i915_vma_is_ggtt(vma)) { in checked_vma_instance()
82 i915_vma_is_ggtt(vma), i915_is_ggtt(vm)); in checked_vma_instance()
86 if (i915_vma_compare(vma, vm, view)) { in checked_vma_instance()
91 if (i915_vma_compare(vma, vma->vm, in checked_vma_instance()
92 i915_vma_is_ggtt(vma) ? &vma->ggtt_view : NULL)) { in checked_vma_instance()
102 return vma; in checked_vma_instance()
117 struct i915_vma *vma; in create_vmas() local
120 vma = checked_vma_instance(obj, vm, NULL); in create_vmas()
121 if (IS_ERR(vma)) in create_vmas()
122 return PTR_ERR(vma); in create_vmas()
124 if (!assert_vma(vma, obj, ctx)) { in create_vmas()
130 err = i915_vma_pin(vma, 0, 0, PIN_USER); in create_vmas()
136 i915_vma_unpin(vma); in create_vmas()
223 static bool assert_pin_valid(const struct i915_vma *vma, in assert_pin_valid() argument
230 if (i915_vma_misplaced(vma, mode->size, 0, mode->flags)) in assert_pin_valid()
237 static bool assert_pin_enospc(const struct i915_vma *vma, in assert_pin_enospc() argument
245 static bool assert_pin_einval(const struct i915_vma *vma, in assert_pin_einval() argument
308 struct i915_vma *vma; in igt_vma_pin1() local
321 vma = checked_vma_instance(obj, &ggtt->vm, NULL); in igt_vma_pin1()
322 if (IS_ERR(vma)) in igt_vma_pin1()
326 err = i915_vma_pin(vma, m->size, 0, m->flags); in igt_vma_pin1()
327 if (!m->assert(vma, m, err)) { in igt_vma_pin1()
333 i915_vma_unpin(vma); in igt_vma_pin1()
339 i915_vma_unpin(vma); in igt_vma_pin1()
340 err = i915_vma_unbind(vma); in igt_vma_pin1()
530 struct i915_vma *vma; in igt_vma_rotate_remap() local
532 vma = checked_vma_instance(obj, vm, &view); in igt_vma_rotate_remap()
533 if (IS_ERR(vma)) { in igt_vma_rotate_remap()
534 err = PTR_ERR(vma); in igt_vma_rotate_remap()
538 err = i915_vma_pin(vma, 0, 0, PIN_GLOBAL); in igt_vma_rotate_remap()
545 vma->size != rotated_size(a, b) * PAGE_SIZE) { in igt_vma_rotate_remap()
547 PAGE_SIZE * rotated_size(a, b), vma->size); in igt_vma_rotate_remap()
553 vma->size > rotated_size(a, b) * PAGE_SIZE) { in igt_vma_rotate_remap()
555 PAGE_SIZE * rotated_size(a, b), vma->size); in igt_vma_rotate_remap()
560 if (vma->pages->nents > rotated_size(a, b)) { in igt_vma_rotate_remap()
562 rotated_size(a, b), vma->pages->nents); in igt_vma_rotate_remap()
567 if (vma->node.size < vma->size) { in igt_vma_rotate_remap()
569 vma->size, vma->node.size); in igt_vma_rotate_remap()
574 if (vma->pages == obj->mm.pages) { in igt_vma_rotate_remap()
580 sg = vma->pages->sgl; in igt_vma_rotate_remap()
603 i915_vma_unpin(vma); in igt_vma_rotate_remap()
619 struct i915_vma *vma, in assert_partial() argument
626 for_each_sgt_dma(dma, sgt, vma->pages) { in assert_partial()
648 static bool assert_pin(struct i915_vma *vma, in assert_pin() argument
655 if (vma->size != size) { in assert_pin()
657 name, size, vma->size); in assert_pin()
661 if (vma->node.size < vma->size) { in assert_pin()
663 name, vma->size, vma->node.size); in assert_pin()
668 if (memcmp(&vma->ggtt_view, view, sizeof(*view))) { in assert_pin()
674 if (vma->pages == vma->obj->mm.pages) { in assert_pin()
680 if (vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL) { in assert_pin()
682 vma->ggtt_view.type); in assert_pin()
686 if (vma->pages != vma->obj->mm.pages) { in assert_pin()
709 struct i915_vma *vma; in igt_vma_partial() local
735 vma = checked_vma_instance(obj, vm, &view); in igt_vma_partial()
736 if (IS_ERR(vma)) { in igt_vma_partial()
737 err = PTR_ERR(vma); in igt_vma_partial()
741 err = i915_vma_pin(vma, 0, 0, PIN_GLOBAL); in igt_vma_partial()
745 if (!assert_pin(vma, &view, sz*PAGE_SIZE, p->name)) { in igt_vma_partial()
752 if (!assert_partial(obj, vma, offset, sz)) { in igt_vma_partial()
759 i915_vma_unpin(vma); in igt_vma_partial()
767 list_for_each_entry(vma, &obj->vma.list, obj_link) in igt_vma_partial()
777 vma = checked_vma_instance(obj, vm, NULL); in igt_vma_partial()
778 if (IS_ERR(vma)) { in igt_vma_partial()
779 err = PTR_ERR(vma); in igt_vma_partial()
783 err = i915_vma_pin(vma, 0, 0, PIN_GLOBAL); in igt_vma_partial()
787 if (!assert_pin(vma, NULL, obj->base.size, p->name)) { in igt_vma_partial()
793 i915_vma_unpin(vma); in igt_vma_partial()
796 list_for_each_entry(vma, &obj->vma.list, obj_link) in igt_vma_partial()
892 struct i915_vma *vma; in igt_vma_remapped_gtt() local
903 vma = i915_gem_object_ggtt_pin(obj, &view, 0, 0, PIN_MAPPABLE); in igt_vma_remapped_gtt()
904 if (IS_ERR(vma)) { in igt_vma_remapped_gtt()
905 err = PTR_ERR(vma); in igt_vma_remapped_gtt()
909 GEM_BUG_ON(vma->ggtt_view.type != *t); in igt_vma_remapped_gtt()
911 map = i915_vma_pin_iomap(vma); in igt_vma_remapped_gtt()
912 i915_vma_unpin(vma); in igt_vma_remapped_gtt()
932 i915_vma_unpin_iomap(vma); in igt_vma_remapped_gtt()
934 vma = i915_gem_object_ggtt_pin(obj, NULL, 0, 0, PIN_MAPPABLE); in igt_vma_remapped_gtt()
935 if (IS_ERR(vma)) { in igt_vma_remapped_gtt()
936 err = PTR_ERR(vma); in igt_vma_remapped_gtt()
940 GEM_BUG_ON(vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL); in igt_vma_remapped_gtt()
942 map = i915_vma_pin_iomap(vma); in igt_vma_remapped_gtt()
943 i915_vma_unpin(vma); in igt_vma_remapped_gtt()
966 i915_vma_unpin_iomap(vma); in igt_vma_remapped_gtt()
971 i915_vma_unpin_iomap(vma); in igt_vma_remapped_gtt()