Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Oak Zeng <oak.zeng@intel.com>
Cc: <igt-dev@lists.freedesktop.org>
Subject: Re: [i-g-t v6 3/4] tests/intel/xe_vm: Exclude invalid_flags tests from LNL and BMG
Date: Mon, 10 Mar 2025 17:33:43 -0700	[thread overview]
Message-ID: <871pv44d94.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <20250224174010.594192-4-oak.zeng@intel.com>

On Mon, 24 Feb 2025 09:40:09 -0800, Oak Zeng wrote:
>
> Due to a fix of out of bound prefetch issue, we now allow scratch
> page coexist with fault mode on LNL and BMG, thus exclude those
> tests on such HW.

Instead of making all these changes in this patch, isn't it cleaner to
include the platform check for DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE in
invalid_flag() itself?

Also is it just LNL and BMG, or other future platforms too? In that case
instead of using IS_LUNARLAKE() kind of macros, use intel_graphics_ver()
checks, so we don't need to keep adding a new patch/check for each
platform.

>
> Signed-off-by: Oak Zeng <oak.zeng@intel.com>
> ---
>  tests/intel/xe_vm.c | 47 ++++++++++++++++++++++++++++++---------------
>  1 file changed, 32 insertions(+), 15 deletions(-)
>
> diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c
> index 0730dd3d3..834e0afd7 100644
> --- a/tests/intel/xe_vm.c
> +++ b/tests/intel/xe_vm.c
> @@ -2349,6 +2349,7 @@ igt_main
>	struct drm_xe_engine_class_instance *hwe, *hwe_non_copy = NULL;
>	uint64_t bind_size;
>	int fd;
> +	uint16_t dev_id;
>	const struct section {
>		const char *name;
>		int bo_n_pages;
> @@ -2441,23 +2442,28 @@ igt_main
>		{ NULL },
>	};
>
> -        const struct vm_create_section {
> -                const char *name;
> -                __u32 flags;
> -        } xe_vm_create_invalid_flags[] = {
> -                { "xe_vm_create_fault", DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
> -                { "xe_vm_create_scratch_fault",
> -                        DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
> -                        DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
> -                { "xe_vm_create_scratch_fault_lr",
> -                        ~(DRM_XE_VM_CREATE_FLAG_LR_MODE |
> -                        DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
> -                        DRM_XE_VM_CREATE_FLAG_FAULT_MODE) },
> -                { }
> -        };
> +	const struct vm_create_section {
> +		const char *name;
> +		__u32 flags;
> +	} xe_vm_create_invalid_flags1[] = {
> +		{ "xe_vm_create_fault", DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
> +		{ }
> +	};
> +
> +	const struct vm_create_section xe_vm_create_invalid_flags2[] = {
> +		{ "xe_vm_create_scratch_fault",
> +			DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
> +			DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
> +		{ "xe_vm_create_scratch_fault_lr",
> +			~(DRM_XE_VM_CREATE_FLAG_LR_MODE |
> +			DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
> +			DRM_XE_VM_CREATE_FLAG_FAULT_MODE) },
> +		{ }
> +	};
>
>	igt_fixture {
>		fd = drm_open_driver(DRIVER_XE);
> +		dev_id = intel_get_drm_devid(fd);
>
>		xe_for_each_engine(fd, hwe)
>			if (hwe->engine_class != DRM_XE_ENGINE_CLASS_COPY) {
> @@ -2715,11 +2721,22 @@ igt_main
>		}
>	}
>
> -	for (const struct vm_create_section *s = xe_vm_create_invalid_flags; s->name; s++) {
> +	for (const struct vm_create_section *s = xe_vm_create_invalid_flags1;
> +	     s->name; s++) {
>		igt_subtest_f("invalid-flag-%s", s->name)
>			invalid_flag(fd, s->flags);
>	}
>
> +	for (const struct vm_create_section *s = xe_vm_create_invalid_flags2;
> +	     s->name; s++) {
> +		igt_subtest_f("invalid-flag-%s", s->name) {
> +			igt_skip_on_f(IS_LUNARLAKE(dev_id) ||
> +				      IS_BATTLEMAGE(dev_id),
> +				      "Skip test on this platform\n");
> +			invalid_flag(fd, s->flags);
> +		}
> +	}
> +
>	igt_subtest("invalid-extensions")
>		invalid_extensions(fd);
>
> --
> 2.26.3
>

  reply	other threads:[~2025-03-11  0:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-24 17:40 [i-g-t v6 0/4] xe: Test scratch page under fault mode Oak Zeng
2025-02-24 17:40 ` [i-g-t v6 1/4] lib/xe: Fix a comment error Oak Zeng
2025-03-11  0:03   ` Dixit, Ashutosh
2025-03-11  0:36     ` Dixit, Ashutosh
2025-03-11  6:56   ` Zbigniew Kempczyński
2025-02-24 17:40 ` [i-g-t v6 2/4] lib/xe/xe_util: Introduce helper functions Oak Zeng
2025-02-24 17:40 ` [i-g-t v6 3/4] tests/intel/xe_vm: Exclude invalid_flags tests from LNL and BMG Oak Zeng
2025-03-11  0:33   ` Dixit, Ashutosh [this message]
2025-03-19 21:51     ` Zeng, Oak
2025-02-24 17:40 ` [i-g-t v6 4/4] tests/intel/xe_exec_fault_mode: Test scratch page under fault mode Oak Zeng
2025-03-17 19:07   ` Matthew Brost
2025-02-27  3:25 ` ✓ Xe.CI.BAT: success for xe: Test scratch page under fault mode (rev5) Patchwork
2025-02-27  3:39 ` ✓ i915.CI.BAT: " Patchwork
2025-02-27  4:24 ` ✗ Xe.CI.Full: failure " Patchwork
2025-02-27  8:30 ` ✗ i915.CI.Full: " Patchwork

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=871pv44d94.wl-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=oak.zeng@intel.com \
    /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