All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gustavo Sousa <gustavo.sousa@intel.com>
To: Violet Monti <violet.monti@intel.com>, <intel-xe@lists.freedesktop.org>
Cc: Violet Monti <violet.monti@intel.com>
Subject: Re: [PATCH v2 3/4] drm/xe/rtp: Ensure oob_was does not evaluate engine type rules
Date: Thu, 21 May 2026 17:42:54 -0300	[thread overview]
Message-ID: <878q9csddd.fsf@intel.com> (raw)
In-Reply-To: <20260519193216.546048-9-violet.monti@intel.com>

Violet Monti <violet.monti@intel.com> writes:

> This commit builds on the implementation of the GT WA testing, increasing
> the scope of testing to include the OOB workaround list. The added test
> checks for workarounds with XE_RTP_ENGINE_CLASS() rules and raises an expectation
> failure if any are found. Unlike the GT workarounds, there are no flags
> within this workaround list, so all invalid rules will fail.
>
> v2:
>     - Changed xe_rtp_table_oob_test() to follow format of
>       xe_rtp_table_gt_test
>     - Changed oob_was generated params to follow format of gt_was
>       generated params
>
> Signed-off-by: Violet Monti <violet.monti@intel.com>
> ---
>  drivers/gpu/drm/xe/tests/xe_rtp_tables_test.c | 13 +++++++++++++
>  drivers/gpu/drm/xe/xe_wa.c                    |  3 ++-
>  drivers/gpu/drm/xe/xe_wa.h                    |  1 +
>  3 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_tables_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_tables_test.c
> index 01d2bc6e8aad..eb1b3ee075c9 100644
> --- a/drivers/gpu/drm/xe/tests/xe_rtp_tables_test.c
> +++ b/drivers/gpu/drm/xe/tests/xe_rtp_tables_test.c
> @@ -42,8 +42,21 @@ static void xe_rtp_table_gt_test(struct kunit *test)
>  
>  RTP_TABLE_PARAM(gt_was);
>  
> +static void xe_rtp_table_oob_test(struct kunit *test)
> +{
> +	const struct xe_rtp_entry *entry = test->param_value;
> +
> +	for (int i = 0; i < entry->n_rules; i++)
> +		KUNIT_EXPECT_TRUE(test,
> +				  entry->rules[i].match_type != XE_RTP_MATCH_ENGINE_CLASS &&
> +				  entry->rules[i].match_type != XE_RTP_MATCH_NOT_ENGINE_CLASS);
> +}
> +
> +RTP_TABLE_PARAM(oob_was);
> +
>  static struct kunit_case xe_rtp_table_tests[] = {
>  	KUNIT_CASE_PARAM(xe_rtp_table_gt_test, gt_was_gen_params),
> +	KUNIT_CASE_PARAM(xe_rtp_table_oob_test, oob_was_gen_params),
>  	{}
>  };
>  
> diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
> index 1a1e04215f21..410099545f4e 100644
> --- a/drivers/gpu/drm/xe/xe_wa.c
> +++ b/drivers/gpu/drm/xe/xe_wa.c
> @@ -803,10 +803,11 @@ static const struct xe_rtp_entry oob_was_entries[] = {
>  
>  static_assert(ARRAY_SIZE(oob_was_entries)  == _XE_WA_OOB_COUNT);
>  
> -static __maybe_unused const struct xe_rtp_table oob_was = {
> +VISIBLE_IF_KUNIT __maybe_unused const struct xe_rtp_table oob_was = {
>  	.entries = oob_was_entries,
>  	.n_entries = ARRAY_SIZE(oob_was_entries),
>  };
> +EXPORT_SYMBOL_IF_KUNIT(oob_was);
>  
>  static const struct xe_rtp_entry device_oob_was_entries[] = {
>  #include <generated/xe_device_wa_oob.c>
> diff --git a/drivers/gpu/drm/xe/xe_wa.h b/drivers/gpu/drm/xe/xe_wa.h
> index 17dff615e507..7ac6d365b65f 100644
> --- a/drivers/gpu/drm/xe/xe_wa.h
> +++ b/drivers/gpu/drm/xe/xe_wa.h
> @@ -27,6 +27,7 @@ int xe_wa_gt_dump(struct xe_gt *gt, struct drm_printer *p);
>  
>  #if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
>  extern VISIBLE_IF_KUNIT const struct xe_rtp_table_sr gt_was;
> +extern VISIBLE_IF_KUNIT __maybe_unused const struct xe_rtp_table oob_was;

With VISIBLE_IF_KUNIT dropped,

    Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>

>  #endif
>  
>  /**
> -- 
> 2.43.0

  reply	other threads:[~2026-05-21 20:43 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-19 19:32 [PATCH v2 0/4] drm/xe/rtp: WA table context testing Violet Monti
2026-05-19 19:32 ` [PATCH v2 1/4] drm/xe/rtp: Add struct types for RTP tables Violet Monti
2026-05-19 19:32 ` [PATCH v2 2/4] drm/xe/rtp: Ensure gt_was doesn't evaluate rules with engine types Violet Monti
2026-05-21 20:12   ` Gustavo Sousa
2026-05-21 20:56     ` Violet Monti
2026-05-21 21:11     ` Gustavo Sousa
2026-05-19 19:32 ` [PATCH v2 3/4] drm/xe/rtp: Ensure oob_was does not evaluate engine type rules Violet Monti
2026-05-21 20:42   ` Gustavo Sousa [this message]
2026-05-19 19:32 ` [PATCH v2 4/4] drm/xe/rtp: Ensure device_oob_was only evaluates correct rules Violet Monti
2026-05-21 21:00   ` Gustavo Sousa
2026-05-19 19:40 ` ✗ CI.checkpatch: warning for drm/xe/rtp: WA table context testing (rev2) Patchwork
2026-05-19 19:41 ` ✓ CI.KUnit: success " Patchwork
2026-05-19 20:53 ` ✓ Xe.CI.BAT: " Patchwork
2026-05-20  9:06 ` ✗ Xe.CI.FULL: failure " 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=878q9csddd.fsf@intel.com \
    --to=gustavo.sousa@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=violet.monti@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 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.