• Home
  • Raw
  • Download

Lines Matching refs:vma

331 static int igt_check_page_sizes(struct i915_vma *vma)  in igt_check_page_sizes()  argument
333 struct drm_i915_private *i915 = vma->vm->i915; in igt_check_page_sizes()
335 struct drm_i915_gem_object *obj = vma->obj; in igt_check_page_sizes()
338 if (!HAS_PAGE_SIZES(i915, vma->page_sizes.sg)) { in igt_check_page_sizes()
340 vma->page_sizes.sg & ~supported, supported); in igt_check_page_sizes()
344 if (!HAS_PAGE_SIZES(i915, vma->page_sizes.gtt)) { in igt_check_page_sizes()
346 vma->page_sizes.gtt & ~supported, supported); in igt_check_page_sizes()
350 if (vma->page_sizes.phys != obj->mm.page_sizes.phys) { in igt_check_page_sizes()
352 vma->page_sizes.phys, obj->mm.page_sizes.phys); in igt_check_page_sizes()
356 if (vma->page_sizes.sg != obj->mm.page_sizes.sg) { in igt_check_page_sizes()
358 vma->page_sizes.sg, obj->mm.page_sizes.sg); in igt_check_page_sizes()
377 struct i915_vma *vma; in igt_mock_exhaust_device_supported_pages() local
410 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in igt_mock_exhaust_device_supported_pages()
411 if (IS_ERR(vma)) { in igt_mock_exhaust_device_supported_pages()
412 err = PTR_ERR(vma); in igt_mock_exhaust_device_supported_pages()
416 err = i915_vma_pin(vma, 0, 0, PIN_USER); in igt_mock_exhaust_device_supported_pages()
420 err = igt_check_page_sizes(vma); in igt_mock_exhaust_device_supported_pages()
422 if (vma->page_sizes.sg != combination) { in igt_mock_exhaust_device_supported_pages()
424 vma->page_sizes.sg, combination); in igt_mock_exhaust_device_supported_pages()
428 i915_vma_unpin(vma); in igt_mock_exhaust_device_supported_pages()
429 i915_vma_close(vma); in igt_mock_exhaust_device_supported_pages()
441 i915_vma_close(vma); in igt_mock_exhaust_device_supported_pages()
475 struct i915_vma *vma; in igt_mock_ppgtt_misaligned_dma() local
495 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in igt_mock_ppgtt_misaligned_dma()
496 if (IS_ERR(vma)) { in igt_mock_ppgtt_misaligned_dma()
497 err = PTR_ERR(vma); in igt_mock_ppgtt_misaligned_dma()
501 err = i915_vma_pin(vma, 0, 0, flags); in igt_mock_ppgtt_misaligned_dma()
503 i915_vma_close(vma); in igt_mock_ppgtt_misaligned_dma()
508 err = igt_check_page_sizes(vma); in igt_mock_ppgtt_misaligned_dma()
510 if (vma->page_sizes.gtt != page_size) { in igt_mock_ppgtt_misaligned_dma()
512 vma->page_sizes.gtt, page_size); in igt_mock_ppgtt_misaligned_dma()
516 i915_vma_unpin(vma); in igt_mock_ppgtt_misaligned_dma()
519 i915_vma_close(vma); in igt_mock_ppgtt_misaligned_dma()
529 err = i915_vma_unbind(vma); in igt_mock_ppgtt_misaligned_dma()
531 i915_vma_close(vma); in igt_mock_ppgtt_misaligned_dma()
535 err = i915_vma_pin(vma, 0, 0, flags | offset); in igt_mock_ppgtt_misaligned_dma()
537 i915_vma_close(vma); in igt_mock_ppgtt_misaligned_dma()
541 err = igt_check_page_sizes(vma); in igt_mock_ppgtt_misaligned_dma()
543 if (vma->page_sizes.gtt != I915_GTT_PAGE_SIZE_4K) { in igt_mock_ppgtt_misaligned_dma()
545 vma->page_sizes.gtt, I915_GTT_PAGE_SIZE_4K); in igt_mock_ppgtt_misaligned_dma()
549 i915_vma_unpin(vma); in igt_mock_ppgtt_misaligned_dma()
552 i915_vma_close(vma); in igt_mock_ppgtt_misaligned_dma()
562 i915_vma_close(vma); in igt_mock_ppgtt_misaligned_dma()
585 struct i915_vma *vma; in close_object_list() local
587 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in close_object_list()
588 if (!IS_ERR(vma)) in close_object_list()
589 i915_vma_close(vma); in close_object_list()
612 struct i915_vma *vma; in igt_mock_ppgtt_huge_fill() local
638 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in igt_mock_ppgtt_huge_fill()
639 if (IS_ERR(vma)) { in igt_mock_ppgtt_huge_fill()
640 err = PTR_ERR(vma); in igt_mock_ppgtt_huge_fill()
644 err = i915_vma_pin(vma, 0, 0, PIN_USER); in igt_mock_ppgtt_huge_fill()
648 err = igt_check_page_sizes(vma); in igt_mock_ppgtt_huge_fill()
650 i915_vma_unpin(vma); in igt_mock_ppgtt_huge_fill()
675 i915_vma_unpin(vma); in igt_mock_ppgtt_huge_fill()
677 if (vma->page_sizes.sg & I915_GTT_PAGE_SIZE_64K) { in igt_mock_ppgtt_huge_fill()
678 if (!IS_ALIGNED(vma->node.start, in igt_mock_ppgtt_huge_fill()
681 vma->node.start); in igt_mock_ppgtt_huge_fill()
686 if (!IS_ALIGNED(vma->node.size, in igt_mock_ppgtt_huge_fill()
689 vma->node.size); in igt_mock_ppgtt_huge_fill()
695 if (vma->page_sizes.gtt != expected_gtt) { in igt_mock_ppgtt_huge_fill()
697 vma->page_sizes.gtt, expected_gtt, in igt_mock_ppgtt_huge_fill()
782 struct i915_vma *vma; in igt_mock_ppgtt_64K() local
816 vma = i915_vma_instance(obj, &ppgtt->vm, NULL); in igt_mock_ppgtt_64K()
817 if (IS_ERR(vma)) { in igt_mock_ppgtt_64K()
818 err = PTR_ERR(vma); in igt_mock_ppgtt_64K()
825 err = i915_vma_pin(vma, 0, 0, flags); in igt_mock_ppgtt_64K()
829 err = igt_check_page_sizes(vma); in igt_mock_ppgtt_64K()
833 if (!offset && vma->page_sizes.sg & I915_GTT_PAGE_SIZE_64K) { in igt_mock_ppgtt_64K()
834 if (!IS_ALIGNED(vma->node.start, in igt_mock_ppgtt_64K()
837 vma->node.start); in igt_mock_ppgtt_64K()
842 if (!IS_ALIGNED(vma->node.size, in igt_mock_ppgtt_64K()
845 vma->node.size); in igt_mock_ppgtt_64K()
851 if (vma->page_sizes.gtt != expected_gtt) { in igt_mock_ppgtt_64K()
853 vma->page_sizes.gtt, expected_gtt, i, in igt_mock_ppgtt_64K()
859 i915_vma_unpin(vma); in igt_mock_ppgtt_64K()
860 i915_vma_close(vma); in igt_mock_ppgtt_64K()
871 i915_vma_unpin(vma); in igt_mock_ppgtt_64K()
873 i915_vma_close(vma); in igt_mock_ppgtt_64K()
882 static int gpu_write(struct i915_vma *vma, in gpu_write() argument
890 i915_gem_object_lock(vma->obj); in gpu_write()
891 err = i915_gem_object_set_to_gtt_domain(vma->obj, true); in gpu_write()
892 i915_gem_object_unlock(vma->obj); in gpu_write()
896 return igt_gpu_fill_dw(vma, ctx, engine, dw * sizeof(u32), in gpu_write()
897 vma->size >> PAGE_SHIFT, val); in gpu_write()
940 struct i915_vma *vma; in __igt_write_huge() local
943 vma = i915_vma_instance(obj, vm, NULL); in __igt_write_huge()
944 if (IS_ERR(vma)) in __igt_write_huge()
945 return PTR_ERR(vma); in __igt_write_huge()
947 err = i915_vma_unbind(vma); in __igt_write_huge()
951 err = i915_vma_pin(vma, size, 0, flags | offset); in __igt_write_huge()
963 err = igt_check_page_sizes(vma); in __igt_write_huge()
967 err = gpu_write(vma, ctx, engine, dword, val); in __igt_write_huge()
980 i915_vma_unpin(vma); in __igt_write_huge()
982 i915_vma_destroy(vma); in __igt_write_huge()
1319 struct i915_vma *vma; in igt_ppgtt_pin_update() local
1350 vma = i915_vma_instance(obj, vm, NULL); in igt_ppgtt_pin_update()
1351 if (IS_ERR(vma)) { in igt_ppgtt_pin_update()
1352 err = PTR_ERR(vma); in igt_ppgtt_pin_update()
1356 err = i915_vma_pin(vma, SZ_2M, 0, flags); in igt_ppgtt_pin_update()
1360 if (vma->page_sizes.sg < page_size) { in igt_ppgtt_pin_update()
1366 err = igt_check_page_sizes(vma); in igt_ppgtt_pin_update()
1370 if (vma->page_sizes.gtt != page_size) { in igt_ppgtt_pin_update()
1381 vma->page_sizes.gtt, page_size); in igt_ppgtt_pin_update()
1390 err = i915_vma_bind(vma, I915_CACHE_NONE, PIN_UPDATE); in igt_ppgtt_pin_update()
1394 i915_vma_unpin(vma); in igt_ppgtt_pin_update()
1395 i915_vma_close(vma); in igt_ppgtt_pin_update()
1404 vma = i915_vma_instance(obj, vm, NULL); in igt_ppgtt_pin_update()
1405 if (IS_ERR(vma)) { in igt_ppgtt_pin_update()
1406 err = PTR_ERR(vma); in igt_ppgtt_pin_update()
1410 err = i915_vma_pin(vma, 0, 0, flags); in igt_ppgtt_pin_update()
1426 err = gpu_write(vma, ctx, engine, n++, 0xdeadbeaf); in igt_ppgtt_pin_update()
1437 i915_vma_unpin(vma); in igt_ppgtt_pin_update()
1439 i915_vma_close(vma); in igt_ppgtt_pin_update()
1453 struct i915_vma *vma; in igt_tmpfs_fallback() local
1481 vma = i915_vma_instance(obj, vm, NULL); in igt_tmpfs_fallback()
1482 if (IS_ERR(vma)) { in igt_tmpfs_fallback()
1483 err = PTR_ERR(vma); in igt_tmpfs_fallback()
1487 err = i915_vma_pin(vma, 0, 0, PIN_USER); in igt_tmpfs_fallback()
1491 err = igt_check_page_sizes(vma); in igt_tmpfs_fallback()
1493 i915_vma_unpin(vma); in igt_tmpfs_fallback()
1495 i915_vma_close(vma); in igt_tmpfs_fallback()
1512 struct i915_vma *vma; in igt_shrink_thp() local
1531 vma = i915_vma_instance(obj, vm, NULL); in igt_shrink_thp()
1532 if (IS_ERR(vma)) { in igt_shrink_thp()
1533 err = PTR_ERR(vma); in igt_shrink_thp()
1537 err = i915_vma_pin(vma, 0, 0, flags); in igt_shrink_thp()
1546 err = igt_check_page_sizes(vma); in igt_shrink_thp()
1555 err = gpu_write(vma, ctx, engine, n++, 0xdeadbeaf); in igt_shrink_thp()
1560 i915_vma_unpin(vma); in igt_shrink_thp()
1579 err = i915_vma_pin(vma, 0, 0, flags); in igt_shrink_thp()
1591 i915_vma_unpin(vma); in igt_shrink_thp()
1593 i915_vma_close(vma); in igt_shrink_thp()