[igt-dev] [Patch V4] [i-g-t] tests/i915: test pass for no caching case
Dixit, Ashutosh
ashutosh.dixit at intel.com
Fri May 21 06:11:58 UTC 2021
On Thu, 20 May 2021 23:02:37 -0700, <viswax.krishna.raveendra.talabattula at intel.com> wrote:
>
> diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
> index aad5f141..225703ea 100644
> --- a/tests/i915/gem_userptr_blits.c
> +++ b/tests/i915/gem_userptr_blits.c
> @@ -2016,6 +2016,7 @@ static void test_set_caching(int i915)
> };
> uint32_t handle;
> void *page;
> + int ret;
>
> page = mmap(NULL, 4096, PROT_READ | PROT_WRITE,
> MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
> @@ -2032,15 +2033,41 @@ static void test_set_caching(int i915)
>
> for (int idx = 0; idx < ARRAY_SIZE(levels); idx++) {
> gem_userptr(i915, page, 4096, 0, 0, &handle);
> - igt_assert_eq(__gem_set_caching(i915, handle, levels[idx]), 0);
> + ret = __gem_set_caching(i915, handle, levels[idx]);
> + if (levels[idx] == I915_CACHING_NONE) {
> + if(ret != 0)
> + igt_assert_eq(ret, -ENXIO);
> + else
> + igt_warn("Deprecated userptr SET_CACHING behavior\n");
> + } else {
> + igt_assert_eq(ret, 0);
> + }
> gem_close(i915, handle);
> }
>
> gem_userptr(i915, page, 4096, 0, 0, &handle);
> - for (int idx = 0; idx < ARRAY_SIZE(levels); idx++)
> - igt_assert_eq(__gem_set_caching(i915, handle, levels[idx]), 0);
> - for (int idx = 0; idx < ARRAY_SIZE(levels); idx++)
> - igt_assert_eq(__gem_set_caching(i915, handle, levels[idx]), 0);
> + for (int idx = 0; idx < ARRAY_SIZE(levels); idx++) {
> + ret = __gem_set_caching(i915, handle, levels[idx]);
> + if (levels[idx] == I915_CACHING_NONE) {
> + if (ret != 0)
> + igt_assert_eq(ret, -ENXIO);
> + else
> + igt_warn("Deprecated userptr SET_CACHING behavior\n");
I didn't realize this would result in the warning getting printed three
times which is pointless. I think we can just delete this 'else' and the
one below, just retain the one at the top.
Sorry I didn't realize it earlier so you'll need to spin this one more
time.
> + } else {
> + igt_assert_eq(ret, 0);
> + }
> + }
> + for (int idx = 0; idx < ARRAY_SIZE(levels); idx++) {
> + ret = __gem_set_caching(i915, handle, levels[idx]);
> + if (levels[idx] == I915_CACHING_NONE) {
> + if (ret != 0)
> + igt_assert_eq(ret, -ENXIO);
> + else
> + igt_warn("Deprecated userptr SET_CACHING behavior\n");
> + } else {
> + igt_assert_eq(ret, 0);
> + }
> + }
> gem_close(i915, handle);
>
> munmap(page, 4096);
> --
> 2.30.0
>
More information about the igt-dev
mailing list