* [PATCH 1/1] drm/xe: Add support for WA 14028250015
@ 2026-10-29 18:10 Alan Previn
2026-10-30 23:12 ` Gustavo Sousa
0 siblings, 1 reply; 2+ messages in thread
From: Alan Previn @ 2026-10-29 18:10 UTC (permalink / raw)
To: intel-xe; +Cc: Alan Previn, dri-devel, Daniele Ceraolo Spurio
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).
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,
};
/**
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)
+ 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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 1/1] drm/xe: Add support for WA 14028250015
2026-10-29 18:10 [PATCH 1/1] drm/xe: Add support for WA 14028250015 Alan Previn
@ 2026-10-30 23:12 ` Gustavo Sousa
0 siblings, 0 replies; 2+ messages in thread
From: Gustavo Sousa @ 2026-10-30 23:12 UTC (permalink / raw)
To: Alan Previn, intel-xe; +Cc: Alan Previn, dri-devel, Daniele Ceraolo Spurio
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-30 23:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox