All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t] i915: Mark up some forgotten set-domain
@ 2019-03-24 14:14 ` Chris Wilson
  0 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2019-03-24 14:14 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

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 <chris@chris-wilson.co.uk>
---
 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(-)

diff --git a/tests/i915/gem_gtt_cpu_tlb.c b/tests/i915/gem_gtt_cpu_tlb.c
index 8ceef44c2..cf3c543df 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 9a00f4ea4..639de1902 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 2453bcc0b..aacd42b73 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 425bb07e7..1ac9eccdb 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 fcf0780af..0988a4e86 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 827c2d9d6..b7f352fc7 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 67ebbc940..845ec2280 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 948f4e6a7..447d2e5db 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 afb53a598..6dd7392b5 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 e6246f2b0..7efef5893 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 17502ccb7..6d1d8bca4 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 0d49fdcb0..17c68cc17 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;
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Intel-gfx] [PATCH i-g-t] i915: Mark up some forgotten set-domain
@ 2019-03-24 14:14 ` Chris Wilson
  0 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2019-03-24 14:14 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

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 <chris@chris-wilson.co.uk>
---
 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(-)

diff --git a/tests/i915/gem_gtt_cpu_tlb.c b/tests/i915/gem_gtt_cpu_tlb.c
index 8ceef44c2..cf3c543df 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 9a00f4ea4..639de1902 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 2453bcc0b..aacd42b73 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 425bb07e7..1ac9eccdb 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 fcf0780af..0988a4e86 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 827c2d9d6..b7f352fc7 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 67ebbc940..845ec2280 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 948f4e6a7..447d2e5db 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 afb53a598..6dd7392b5 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 e6246f2b0..7efef5893 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 17502ccb7..6d1d8bca4 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 0d49fdcb0..17c68cc17 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;
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for i915: Mark up some forgotten set-domain
  2019-03-24 14:14 ` [Intel-gfx] " Chris Wilson
  (?)
@ 2019-03-24 18:17 ` Patchwork
  -1 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2019-03-24 18:17 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: i915: Mark up some forgotten set-domain
URL   : https://patchwork.freedesktop.org/series/58462/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5802 -> IGTPW_2696
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/58462/revisions/1/mbox/

Known issues
------------

  Here are the changes found in IGTPW_2696 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         PASS -> INCOMPLETE [fdo#103927] / [fdo#109720]

  * igt@i915_selftest@live_uncore:
    - fi-skl-gvtdvm:      PASS -> DMESG-FAIL [fdo#110210]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  * igt@runner@aborted:
    - fi-apl-guc:         NOTRUN -> FAIL [fdo#108622] / [fdo#109720]

  
#### Warnings ####

  * igt@i915_selftest@live_contexts:
    - fi-icl-u2:          DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108569]

  
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720
  [fdo#110210]: https://bugs.freedesktop.org/show_bug.cgi?id=110210


Participating hosts (39 -> 32)
------------------------------

  Missing    (7): fi-kbl-soraka fi-ilk-m540 fi-bdw-5557u fi-bsw-n3050 fi-hsw-4200u fi-byt-squawks fi-byt-n2820 


Build changes
-------------

    * IGT: IGT_4900 -> IGTPW_2696

  CI_DRM_5802: 4a20c1b9790798f7bb44cc28e42e2377304ea2fe @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2696: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2696/
  IGT_4900: 09796413394c5490c4adfc5cded5d4344af6af17 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2696/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH i-g-t] i915: Mark up some forgotten set-domain
  2019-03-24 14:14 ` [Intel-gfx] " Chris Wilson
@ 2019-03-25  6:32   ` Ville Syrjälä
  -1 siblings, 0 replies; 5+ messages in thread
From: Ville Syrjälä @ 2019-03-25  6:32 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev, intel-gfx

On Sun, Mar 24, 2019 at 02:14:25PM +0000, Chris Wilson wrote:
> 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 <chris@chris-wilson.co.uk>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  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(-)
> 
> diff --git a/tests/i915/gem_gtt_cpu_tlb.c b/tests/i915/gem_gtt_cpu_tlb.c
> index 8ceef44c2..cf3c543df 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 9a00f4ea4..639de1902 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 2453bcc0b..aacd42b73 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 425bb07e7..1ac9eccdb 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 fcf0780af..0988a4e86 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 827c2d9d6..b7f352fc7 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 67ebbc940..845ec2280 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 948f4e6a7..447d2e5db 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 afb53a598..6dd7392b5 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 e6246f2b0..7efef5893 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 17502ccb7..6d1d8bca4 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 0d49fdcb0..17c68cc17 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;
>  
> -- 
> 2.20.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] i915: Mark up some forgotten set-domain
@ 2019-03-25  6:32   ` Ville Syrjälä
  0 siblings, 0 replies; 5+ messages in thread
From: Ville Syrjälä @ 2019-03-25  6:32 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev, intel-gfx

On Sun, Mar 24, 2019 at 02:14:25PM +0000, Chris Wilson wrote:
> 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 <chris@chris-wilson.co.uk>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  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(-)
> 
> diff --git a/tests/i915/gem_gtt_cpu_tlb.c b/tests/i915/gem_gtt_cpu_tlb.c
> index 8ceef44c2..cf3c543df 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 9a00f4ea4..639de1902 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 2453bcc0b..aacd42b73 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 425bb07e7..1ac9eccdb 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 fcf0780af..0988a4e86 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 827c2d9d6..b7f352fc7 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 67ebbc940..845ec2280 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 948f4e6a7..447d2e5db 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 afb53a598..6dd7392b5 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 e6246f2b0..7efef5893 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 17502ccb7..6d1d8bca4 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 0d49fdcb0..17c68cc17 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;
>  
> -- 
> 2.20.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-03-25  6:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-24 14:14 [PATCH i-g-t] i915: Mark up some forgotten set-domain Chris Wilson
2019-03-24 14:14 ` [Intel-gfx] " Chris Wilson
2019-03-24 18:17 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-03-25  6:32 ` [PATCH i-g-t] " Ville Syrjälä
2019-03-25  6:32   ` [igt-dev] [Intel-gfx] " Ville Syrjälä

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.