[igt-dev] [RFT v4 5/6] Coherency tests that need to be using WC + sync

Katarzyna Dec katarzyna.dec at intel.com
Tue Apr 16 14:43:40 UTC 2019


On Mon, Mar 25, 2019 at 04:20:42PM -0700, Antonio Argenziano wrote:

Commit msg is missing so there is not backstory to this patch :)
> ---
>  tests/prime_mmap.c | 36 ++++++++++++++++++++++++++++++++++--
>  1 file changed, 34 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c
> index 33f97b84..f28985da 100644
> --- a/tests/prime_mmap.c
> +++ b/tests/prime_mmap.c
> @@ -73,7 +73,7 @@ fill_bo_cpu(char *ptr)
>  }
>  
>  static void
> -test_correct(void)
> +test_correct_gtt(void)
>  {
>  	int dma_buf_fd;
>  	char *ptr1, *ptr2;
> @@ -103,6 +103,37 @@ test_correct(void)
>  	gem_close(fd, handle);
>  }
>  
> +static void
> +test_correct_wc(void)
> +{
> +	int dma_buf_fd;
> +	char *ptr1, *ptr2;
> +	uint32_t handle;
> +
> +	gem_require_mmap_wc(fd);
> +
> +	handle = gem_create(fd, BO_SIZE);
> +	fill_bo(handle, BO_SIZE);
> +
> +	dma_buf_fd = prime_handle_to_fd(fd, handle);
> +	igt_assert(errno == 0);
> +
> +	/* Check correctness vs WC mapping */
> +	ptr1 = gem_mmap__wc(fd, handle, 0, BO_SIZE, PROT_READ);
> +	ptr2 = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0);
> +	igt_assert(ptr1 != MAP_FAILED);
> +	igt_assert(ptr2 != MAP_FAILED);
> +	igt_assert(memcmp(ptr1, ptr2, BO_SIZE) == 0);
> +
> +	/* Check pattern correctness */
> +	igt_assert(memcmp(ptr2, pattern, sizeof(pattern)) == 0);
> +
> +	munmap(ptr1, BO_SIZE);
> +	munmap(ptr2, BO_SIZE);
> +	close(dma_buf_fd);
> +	gem_close(fd, handle);
> +}
> +
>  static void
>  test_map_unmap(void)
>  {
> @@ -504,7 +535,8 @@ igt_main
>  		const char *name;
>  		void (*fn)(void);
>  	} tests[] = {
> -		{ "test_correct", test_correct },
> +		{ "test_correct_gtt", test_correct_gtt },
> +		{ "test_correct_wc", test_correct_wc },
>  		{ "test_map_unmap", test_map_unmap },
>  		{ "test_reprime", test_reprime },
>  		{ "test_forked", test_forked },
> -- 
> 2.20.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
Based on code I do not see any issues, yet.
Kasia :)


More information about the igt-dev mailing list