From: Gustavo Sousa <gustavo.sousa@intel.com>
To: Alan Previn <alan.previn.teres.alexis@intel.com>,
<intel-xe@lists.freedesktop.org>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>,
<dri-devel@lists.freedesktop.org>,
Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Subject: Re: [PATCH 1/1] drm/xe: Add support for WA 14028250015
Date: Fri, 30 Oct 2026 20:12:39 -0300 [thread overview]
Message-ID: <874ie2u6jc.fsf@intel.com> (raw)
In-Reply-To: <20261029181039.598756-2-alan.previn.teres.alexis@intel.com>
Alan Previn <alan.previn.teres.alexis@intel.com> writes:
> The WA is implemented by the GuC, so we just need to enable it via the
> dedicated KLV. It makes the GuC complete page reclaim requests that
> end in an error, instead of leaving them pending. It is only needed
> when the page reclaim HW assist is in use. This WA only applies to
> Nova Lake (graphics version 3510).
Since this is a workaround for the graphics IP, I think we should avoid
saying it is for Nova Lake.
Also, on the subject, I would prefer that we stick to the notation
Wa_14028250015.
>
> Assisted-by: LLM
> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
> ---
> drivers/gpu/drm/xe/abi/guc_klvs_abi.h | 1 +
> drivers/gpu/drm/xe/xe_guc_ads.c | 6 ++++++
> drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
> 3 files changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
> index 4bcdc1a96785..9357bb925f11 100644
> --- a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
> +++ b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
> @@ -526,6 +526,7 @@ enum xe_guc_klv_ids {
> GUC_WA_KLV_REMAP_RANGED_TLB_INV = 0x900f,
> GUC_WA_KLV_IGNORE_MMIO_READ_SEM_TOKEN_64 = 0x9010,
> GUC_WA_KLV_IGNORE_MULTIQ_CTX_COMPLETE_WITH_PREEMPT_IN_CSB = 0x9011,
> + GUC_WA_KLV_ENABLE_PAGE_RECLAIM_ERROR_COMPLETION = 0x9012,
Probably better to use the same name as defined by GuC here?
> };
>
> /**
> diff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c
> index 43a2951a66d6..7d7b44293a08 100644
> --- a/drivers/gpu/drm/xe/xe_guc_ads.c
> +++ b/drivers/gpu/drm/xe/xe_guc_ads.c
> @@ -389,6 +389,12 @@ static void guc_waklv_init(struct xe_guc_ads *ads)
> guc_waklv_enable(ads, NULL, 0, &offset, &remain,
> GUC_WA_KLV_IGNORE_MULTIQ_CTX_COMPLETE_WITH_PREEMPT_IN_CSB);
>
> + /* On GuC 70.78 onwards, we enable GuC PRL-completion-IRQ workaround on applicable GMIDs */
> + if (XE_GT_WA(gt, 14028250015) && GUC_FIRMWARE_VER_AT_LEAST(>->uc.guc, 70, 78) &&
> + gt_to_xe(gt)->info.has_page_reclaim_hw_assist)
Should we really gate this by the has_page_reclaim_hw_assist feature
flag? This flag can be changed at runtime via debugfs. I would assume
that GuC would do the right thing if PRL is not supported on the IP it
is running.
--
Gustavo Sousa
> + guc_waklv_enable(ads, NULL, 0, &offset, &remain,
> + GUC_WA_KLV_ENABLE_PAGE_RECLAIM_ERROR_COMPLETION);
> +
> /*
> * On GuC firmware 70.66 and above, use the Feature KLV (shared with the
> * WA KLV buffer); older firmware uses GUC_CTL_DISABLE_MULTI_QUEUE in
> diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
> index 96132c6e3340..c73694aa40ca 100644
> --- a/drivers/gpu/drm/xe/xe_wa_oob.rules
> +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
> @@ -77,3 +77,4 @@
> 14025941587 GRAPHICS_VERSION_RANGE(2001, 3511), FUNC(xe_rtp_match_not_sriov_vf)
> MEDIA_VERSION_RANGE(1301, 3503), FUNC(xe_rtp_match_not_sriov_vf)
> 16030224309 GRAPHICS_VERSION_RANGE(3510, 3511)
> +14028250015 GRAPHICS_VERSION(3510)
>
> base-commit: d8a353e238652bec29fd452babdaae0044d30b9b
> --
> 2.43.0
prev parent reply other threads:[~2026-10-30 23:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-29 18:10 [PATCH 1/1] drm/xe: Add support for WA 14028250015 Alan Previn
2026-10-30 23:12 ` Gustavo Sousa [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=874ie2u6jc.fsf@intel.com \
--to=gustavo.sousa@intel.com \
--cc=alan.previn.teres.alexis@intel.com \
--cc=daniele.ceraolospurio@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@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