public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Subject: Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] i915: Mark up some forgotten set-domain
Date: Mon, 25 Mar 2019 08:32:04 +0200	[thread overview]
Message-ID: <20190325063204.GN3888@intel.com> (raw)
In-Reply-To: <20190324141425.11260-1-chris@chris-wilson.co.uk>

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

      parent reply	other threads:[~2019-03-25  6:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-24 14:14 [Intel-gfx] [PATCH i-g-t] i915: Mark up some forgotten set-domain Chris Wilson
2019-03-24 18:17 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-03-25  6:32 ` Ville Syrjälä [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190325063204.GN3888@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox