From 3d325bb211d8cd84c6862c9945185a937395cb44 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 24 Mar 2019 14:11:16 +0000 Subject: i915: Mark up some forgotten set-domain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is the user's responsibility to manage their domains. In libdrm, when you mmap a pointer, it calls set-domain automatically, but igt requires the caller to manage it explicitly, so do so. The vast majority already do correct manage the domain as they use the pointer into the mmap, just a few have been missed over the years. Signed-off-by: Chris Wilson Reviewed-by: Ville Syrjälä --- tests/i915/gem_gtt_cpu_tlb.c | 2 ++ tests/i915/gem_mmap_gtt.c | 4 +++- tests/i915/gem_tiled_fence_blits.c | 2 ++ tests/i915/gem_tiled_pread_basic.c | 1 + tests/i915/gem_tiled_pread_pwrite.c | 1 + tests/i915/gem_tiled_wb.c | 1 + tests/i915/gem_tiled_wc.c | 1 + tests/i915/gen3_mixed_blits.c | 2 ++ tests/i915/gen3_render_mixed_blits.c | 2 ++ tests/i915/gen3_render_tiledx_blits.c | 2 ++ tests/i915/gen3_render_tiledy_blits.c | 2 ++ tests/i915/i915_suspend.c | 4 ++++ 12 files changed, 23 insertions(+), 1 deletion(-) (limited to 'tests/i915') diff --git a/tests/i915/gem_gtt_cpu_tlb.c b/tests/i915/gem_gtt_cpu_tlb.c index 8ceef44c..cf3c543d 100644 --- a/tests/i915/gem_gtt_cpu_tlb.c +++ b/tests/i915/gem_gtt_cpu_tlb.c @@ -60,6 +60,7 @@ create_bo(int fd) /* Fill the BO with dwords starting at start_val */ data = gem_mmap__gtt(fd, handle, OBJ_SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < OBJ_SIZE/4; i++) data[i] = i; munmap(data, OBJ_SIZE); @@ -83,6 +84,7 @@ igt_simple_main /* touch one page */ ptr = gem_mmap__gtt(fd, handle, OBJ_SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); *ptr = 0xdeadbeef; munmap(ptr, OBJ_SIZE); diff --git a/tests/i915/gem_mmap_gtt.c b/tests/i915/gem_mmap_gtt.c index 9a00f4ea..639de190 100644 --- a/tests/i915/gem_mmap_gtt.c +++ b/tests/i915/gem_mmap_gtt.c @@ -179,6 +179,7 @@ test_read_write(int fd, enum test_read_write order) handle = gem_create(fd, OBJECT_SIZE); ptr = gem_mmap__gtt(fd, handle, OBJECT_SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); if (order == READ_BEFORE_WRITE) { val = *(uint32_t *)ptr; @@ -202,9 +203,10 @@ test_read_write2(int fd, enum test_read_write order) handle = gem_create(fd, OBJECT_SIZE); r = gem_mmap__gtt(fd, handle, OBJECT_SIZE, PROT_READ); - w = gem_mmap__gtt(fd, handle, OBJECT_SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); + if (order == READ_BEFORE_WRITE) { val = *(uint32_t *)r; *(uint32_t *)w = val; diff --git a/tests/i915/gem_tiled_fence_blits.c b/tests/i915/gem_tiled_fence_blits.c index 2453bcc0..aacd42b7 100644 --- a/tests/i915/gem_tiled_fence_blits.c +++ b/tests/i915/gem_tiled_fence_blits.c @@ -58,6 +58,7 @@ static uint32_t create_bo(int fd, uint32_t start_val) /* Fill the BO with dwords starting at start_val */ ptr = gem_mmap__gtt(fd, handle, bo_size, PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (int i = 0; i < width * height; i++) ptr[i] = start_val++; munmap(ptr, bo_size); @@ -70,6 +71,7 @@ static void check_bo(int fd, uint32_t handle, uint32_t start_val) uint32_t *ptr; ptr = gem_mmap__gtt(fd, handle, bo_size, PROT_READ); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, 0); igt_memcpy_from_wc(linear, ptr, bo_size); munmap(ptr, bo_size); diff --git a/tests/i915/gem_tiled_pread_basic.c b/tests/i915/gem_tiled_pread_basic.c index 425bb07e..1ac9eccd 100644 --- a/tests/i915/gem_tiled_pread_basic.c +++ b/tests/i915/gem_tiled_pread_basic.c @@ -74,6 +74,7 @@ create_bo(int fd) /* Fill the BO with dwords starting at start_val */ data = gem_mmap__gtt(fd, handle, sizeof(linear), PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) data[i] = i; munmap(data, sizeof(linear)); diff --git a/tests/i915/gem_tiled_pread_pwrite.c b/tests/i915/gem_tiled_pread_pwrite.c index fcf0780a..0988a4e8 100644 --- a/tests/i915/gem_tiled_pread_pwrite.c +++ b/tests/i915/gem_tiled_pread_pwrite.c @@ -82,6 +82,7 @@ create_bo_and_fill(int fd) /* Fill the BO with dwords starting at start_val */ data = gem_mmap__gtt(fd, handle, sizeof(linear), PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) data[i] = i; munmap(data, sizeof(linear)); diff --git a/tests/i915/gem_tiled_wb.c b/tests/i915/gem_tiled_wb.c index 827c2d9d..b7f352fc 100644 --- a/tests/i915/gem_tiled_wb.c +++ b/tests/i915/gem_tiled_wb.c @@ -72,6 +72,7 @@ create_bo(int fd) * We then manually detile on reading back through the mmap(wc). */ data = gem_mmap__gtt(fd, handle, SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) data[i] = i; munmap(data, SIZE); diff --git a/tests/i915/gem_tiled_wc.c b/tests/i915/gem_tiled_wc.c index 67ebbc94..845ec228 100644 --- a/tests/i915/gem_tiled_wc.c +++ b/tests/i915/gem_tiled_wc.c @@ -66,6 +66,7 @@ create_bo(int fd) /* Fill the BO with dwords starting at start_val */ data = gem_mmap__gtt(fd, handle, SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) data[i] = i; munmap(data, SIZE); diff --git a/tests/i915/gen3_mixed_blits.c b/tests/i915/gen3_mixed_blits.c index 948f4e6a..447d2e5d 100644 --- a/tests/i915/gen3_mixed_blits.c +++ b/tests/i915/gen3_mixed_blits.c @@ -416,6 +416,7 @@ create_bo(int fd, uint32_t val, int tiling) /* Fill the BO with dwords starting at val */ v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) v[i] = val++; munmap(v, WIDTH*HEIGHT*4); @@ -430,6 +431,7 @@ check_bo(int fd, uint32_t handle, uint32_t val) int i; v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, 0); for (i = 0; i < WIDTH*HEIGHT; i++) { igt_assert_f(v[i] == val, "Expected 0x%08x, found 0x%08x " diff --git a/tests/i915/gen3_render_mixed_blits.c b/tests/i915/gen3_render_mixed_blits.c index afb53a59..6dd7392b 100644 --- a/tests/i915/gen3_render_mixed_blits.c +++ b/tests/i915/gen3_render_mixed_blits.c @@ -310,6 +310,7 @@ create_bo(int fd, uint32_t val, int tiling) /* Fill the BO with dwords starting at val */ v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) v[i] = val++; munmap(v, WIDTH*HEIGHT*4); @@ -324,6 +325,7 @@ check_bo(int fd, uint32_t handle, uint32_t val) int i; v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, 0); for (i = 0; i < WIDTH*HEIGHT; i++) { igt_assert_f(v[i] == val, "Expected 0x%08x, found 0x%08x " diff --git a/tests/i915/gen3_render_tiledx_blits.c b/tests/i915/gen3_render_tiledx_blits.c index e6246f2b..7efef589 100644 --- a/tests/i915/gen3_render_tiledx_blits.c +++ b/tests/i915/gen3_render_tiledx_blits.c @@ -297,6 +297,7 @@ create_bo(int fd, uint32_t val) /* Fill the BO with dwords starting at val */ v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) v[i] = val++; munmap(v, WIDTH*HEIGHT*4); @@ -311,6 +312,7 @@ check_bo(int fd, uint32_t handle, uint32_t val) int i; v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, 0); for (i = 0; i < WIDTH*HEIGHT; i++) { igt_assert_f(v[i] == val, "Expected 0x%08x, found 0x%08x " diff --git a/tests/i915/gen3_render_tiledy_blits.c b/tests/i915/gen3_render_tiledy_blits.c index 17502ccb..6d1d8bca 100644 --- a/tests/i915/gen3_render_tiledy_blits.c +++ b/tests/i915/gen3_render_tiledy_blits.c @@ -297,6 +297,7 @@ create_bo(int fd, uint32_t val) /* Fill the BO with dwords starting at val */ v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < WIDTH*HEIGHT; i++) v[i] = val++; munmap(v, WIDTH*HEIGHT*4); @@ -311,6 +312,7 @@ check_bo(int fd, uint32_t handle, uint32_t val) int i; v = gem_mmap__gtt(fd, handle, WIDTH * HEIGHT * 4, PROT_READ); + gem_set_domain(fd, handle, I915_GEM_DOMAIN_GTT, 0); for (i = 0; i < WIDTH*HEIGHT; i++) { igt_assert_f(v[i] == val, "Expected 0x%08x, found 0x%08x " diff --git a/tests/i915/i915_suspend.c b/tests/i915/i915_suspend.c index 0d49fdcb..17c68cc1 100644 --- a/tests/i915/i915_suspend.c +++ b/tests/i915/i915_suspend.c @@ -58,17 +58,21 @@ test_fence_restore(int fd, bool tiled2untiled, bool hibernate) /* Access the buffer objects in the order we want to have the laid out. */ ptr1 = gem_mmap__gtt(fd, handle1, OBJECT_SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle1, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < OBJECT_SIZE/sizeof(uint32_t); i++) ptr1[i] = i; ptr_tiled = gem_mmap__gtt(fd, handle_tiled, OBJECT_SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle_tiled, + I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); if (tiled2untiled) gem_set_tiling(fd, handle_tiled, I915_TILING_X, 2048); for (i = 0; i < OBJECT_SIZE/sizeof(uint32_t); i++) ptr_tiled[i] = i; ptr2 = gem_mmap__gtt(fd, handle2, OBJECT_SIZE, PROT_READ | PROT_WRITE); + gem_set_domain(fd, handle2, I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); for (i = 0; i < OBJECT_SIZE/sizeof(uint32_t); i++) ptr2[i] = i; -- cgit v1.2.3