From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Copnsolidate and simplify tests that small objects are rounded up to PAGE_SIZE and no more. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> --- tests/gem_create.c | 43 ++++++++++--------------------------------- 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/tests/gem_create.c b/tests/gem_create.c index f687b7b40be4..21df13f7b655 100644 --- a/tests/gem_create.c +++ b/tests/gem_create.c @@ -106,41 +106,21 @@ static void invalid_size_test(int fd) } /* - * Creating an object with non-aligned size and trying to access it with an - * offset, which is greater than the requested size but smaller than the - * object's last page boundary. pwrite here must be successful. + * Verify that the kernel rounds up object creation to PAGE_SIZE and no more. */ -static void valid_nonaligned_size(int fd) +static void test_size_alignment(int fd) { - int handle; - char buf[PAGE_SIZE]; - - handle = gem_create(fd, PAGE_SIZE / 2); - - gem_write(fd, handle, PAGE_SIZE / 2, buf, PAGE_SIZE / 2); - - gem_close(fd, handle); -} - -/* - * Creating an object with non-aligned size and trying to access it with an - * offset, which is greater than the requested size and larger than the - * object's last page boundary. pwrite here must fail. - */ -static void invalid_nonaligned_size(int fd) -{ - int handle; - char buf[PAGE_SIZE]; - struct drm_i915_gem_pwrite gem_pwrite; + uint32_t handle; + char buf[PAGE_SIZE + 1]; + struct drm_i915_gem_pwrite gem_pwrite = { }; handle = gem_create(fd, PAGE_SIZE / 2); + gem_write(fd, handle, 0, buf, PAGE_SIZE); - CLEAR(gem_pwrite); gem_pwrite.handle = handle; - gem_pwrite.offset = PAGE_SIZE / 2; - gem_pwrite.size = PAGE_SIZE; + gem_pwrite.offset = 0; + gem_pwrite.size = PAGE_SIZE + 1; gem_pwrite.data_ptr = to_user_pointer(buf); - /* This should fail. Hence cannot use gem_write. */ igt_assert(drmIoctl(fd, DRM_IOCTL_I915_GEM_PWRITE, &gem_pwrite)); gem_close(fd, handle); @@ -160,9 +140,6 @@ igt_main igt_subtest("basic-create-invalid-size") invalid_size_test(fd); - igt_subtest("create-valid-nonaligned") - valid_nonaligned_size(fd); - - igt_subtest("create-invalid-nonaligned") - invalid_nonaligned_size(fd); + igt_subtest("basic-size-alignment") + test_size_alignment(fd); } -- 2.9.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx