diff options
author | Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> | 2022-09-28 20:06:36 +0200 |
---|---|---|
committer | Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> | 2022-09-29 20:22:03 +0200 |
commit | 27d90161294be6ebd6b9291d71fac794cd52f7ce (patch) | |
tree | c65c65826f8ebbb284c9bd3b84bdc8bdca119bdf | |
parent | 3d2df081c14c251e0269e3510ddc4e9d26ffe925 (diff) |
tests/prime_mmap: Use batch sizes appropriate for regions
Stop using gem_get_batch_size() as it returns hardcoded values which
makes confusion regarding minimum object size in different regions.
Use real object size instead which is more suitable.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
-rw-r--r-- | tests/prime_mmap.c | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c index d53185ff1..bc19f68c9 100644 --- a/tests/prime_mmap.c +++ b/tests/prime_mmap.c @@ -81,13 +81,13 @@ fill_bo_cpu(char *ptr, size_t size) } static void -test_correct(uint32_t region, int size) +test_correct(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr1, *ptr2; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = prime_handle_to_fd(fd, handle); @@ -110,13 +110,13 @@ test_correct(uint32_t region, int size) } static void -test_map_unmap(uint32_t region, int size) +test_map_unmap(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = prime_handle_to_fd(fd, handle); @@ -139,13 +139,13 @@ test_map_unmap(uint32_t region, int size) /* prime and then unprime and then prime again the same handle */ static void -test_reprime(uint32_t region, int size) +test_reprime(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = prime_handle_to_fd(fd, handle); @@ -171,13 +171,13 @@ test_reprime(uint32_t region, int size) /* map from another process */ static void -test_forked(uint32_t region, int size) +test_forked(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = prime_handle_to_fd(fd, handle); @@ -197,13 +197,13 @@ test_forked(uint32_t region, int size) /* test simple CPU write */ static void -test_correct_cpu_write(uint32_t region, int size) +test_correct_cpu_write(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); dma_buf_fd = prime_handle_to_fd_for_mmap(fd, handle); @@ -227,13 +227,13 @@ test_correct_cpu_write(uint32_t region, int size) /* map from another process and then write using CPU */ static void -test_forked_cpu_write(uint32_t region, int size) +test_forked_cpu_write(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); dma_buf_fd = prime_handle_to_fd_for_mmap(fd, handle); @@ -255,13 +255,13 @@ test_forked_cpu_write(uint32_t region, int size) } static void -test_refcounting(uint32_t region, int size) +test_refcounting(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = prime_handle_to_fd(fd, handle); @@ -278,13 +278,13 @@ test_refcounting(uint32_t region, int size) /* dup before mmap */ static void -test_dup(uint32_t region, int size) +test_dup(uint32_t region, uint64_t size) { int dma_buf_fd; char *ptr; uint32_t handle; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = dup(prime_handle_to_fd(fd, handle)); @@ -331,7 +331,7 @@ static bool has_userptr(void) /* test for mmap(dma_buf_export(userptr)) */ static void -test_userptr(uint32_t region, int size) +test_userptr(uint32_t region, uint64_t size) { int ret, dma_buf_fd; void *ptr; @@ -365,7 +365,7 @@ free_userptr: } static void -test_errors(uint32_t region, int size) +test_errors(uint32_t region, uint64_t size) { int i, dma_buf_fd; char *ptr; @@ -374,7 +374,7 @@ test_errors(uint32_t region, int size) DRM_RDWR - 1, DRM_RDWR + 1}; /* Test for invalid flags */ - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); for (i = 0; i < ARRAY_SIZE(invalid_flags); i++) { prime_handle_to_fd_no_assert(handle, invalid_flags[i], &dma_buf_fd); igt_assert_eq(errno, EINVAL); @@ -383,7 +383,7 @@ test_errors(uint32_t region, int size) gem_close(fd, handle); /* Close gem object before priming */ - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); gem_close(fd, handle); prime_handle_to_fd_no_assert(handle, DRM_CLOEXEC, &dma_buf_fd); @@ -391,7 +391,7 @@ test_errors(uint32_t region, int size) errno = 0; /* close fd before mapping */ - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = prime_handle_to_fd(fd, handle); igt_assert(errno == 0); @@ -402,7 +402,7 @@ test_errors(uint32_t region, int size) gem_close(fd, handle); /* Map too big */ - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); fill_bo(handle, size); dma_buf_fd = prime_handle_to_fd(fd, handle); igt_assert(errno == 0); @@ -413,7 +413,7 @@ test_errors(uint32_t region, int size) gem_close(fd, handle); /* Overlapping the end of the buffer */ - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); dma_buf_fd = prime_handle_to_fd(fd, handle); igt_assert(errno == 0); ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, dma_buf_fd, size / 2); @@ -425,7 +425,7 @@ test_errors(uint32_t region, int size) /* Test for invalid flags on sync ioctl */ static void -test_invalid_sync_flags(uint32_t region, int size) +test_invalid_sync_flags(uint32_t region, uint64_t size) { int i, dma_buf_fd; uint32_t handle; @@ -435,7 +435,7 @@ test_invalid_sync_flags(uint32_t region, int size) LOCAL_DMA_BUF_SYNC_RW + 1, LOCAL_DMA_BUF_SYNC_VALID_FLAGS_MASK + 1}; - handle = gem_create_in_memory_regions(fd, size, region); + igt_assert(__gem_create_in_memory_regions(fd, &handle, &size, region) == 0); dma_buf_fd = prime_handle_to_fd(fd, handle); for (i = 0; i < sizeof(invalid_flags) / sizeof(invalid_flags[0]); i++) { memset(&sync, 0, sizeof(sync)); @@ -448,7 +448,7 @@ test_invalid_sync_flags(uint32_t region, int size) } static void -test_aperture_limit(uint32_t region, int size) +test_aperture_limit(uint32_t region, uint64_t size) { int dma_buf_fd1, dma_buf_fd2; char *ptr1, *ptr2; @@ -506,7 +506,7 @@ igt_main struct drm_i915_query_memory_regions *query_info; struct { const char *name; - void (*fn)(uint32_t, int); + void (*fn)(uint32_t, uint64_t); uint32_t skip; } tests[] = { { "test_correct", test_correct }, @@ -524,7 +524,6 @@ igt_main }; uint32_t region; char *ext; - int size; int i; igt_fixture { @@ -545,13 +544,11 @@ igt_main igt_subtest_with_dynamic(tests[i].name) { for_each_combination(regions, 1, dma_buf_set) { region = igt_collection_get_value(regions, 0); - size = gem_get_batch_size(fd, MEMORY_TYPE_FROM_REGION(region)); - size = max(size, BO_SIZE); if (check_skip(tests[i].skip, region)) continue; ext = memregion_dynamic_subtest_name(regions); igt_dynamic_f("%s-%s", tests[i].name, ext) - tests[i].fn(region, size); + tests[i].fn(region, BO_SIZE); free(ext); } } |