All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] drm/xe: Add support for Wa_14028250015
@ 2026-11-02 18:05 Alan Previn
  2026-11-02 18:26 ` ✗ CI.checkpatch: warning for series starting with [1/1] " Patchwork
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Alan Previn @ 2026-11-02 18:05 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
graphics version 3510.

v2: Update "Wa" tag to align with others. Don't gate against value of
    has_page_reclaim_hw_assist. Change the #define name to match GuC
    specs. (Gustavo).

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       | 5 +++++
 drivers/gpu/drm/xe/xe_wa_oob.rules    | 1 +
 3 files changed, 7 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..4103de0b1c97 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_PAGE_RECLAMATION_COMPLETION_TIMEOUT					= 0x9012,
 };
 
 /**
diff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c
index c3ce3c8c905a..1927b595ad67 100644
--- a/drivers/gpu/drm/xe/xe_guc_ads.c
+++ b/drivers/gpu/drm/xe/xe_guc_ads.c
@@ -389,6 +389,11 @@ 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(&gt->uc.guc, 70, 78))
+		guc_waklv_enable(ads, NULL, 0, &offset, &remain,
+				 GUC_WA_KLV_PAGE_RECLAMATION_COMPLETION_TIMEOUT);
+
 	/*
 	 * 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 61aa50a63764..fde91192bd46 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -78,3 +78,4 @@
 		MEDIA_VERSION_RANGE(1301, 3503), FUNC(xe_rtp_match_not_sriov_vf)
 16030224309	GRAPHICS_VERSION_RANGE(3510, 3511)
 14028709524	GRAPHICS_VERSION(3510)
+14028250015	GRAPHICS_VERSION(3510)

base-commit: 2cd78713d917a02987f21b437561a5e1e13ddda2
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [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; 12+ 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(&gt->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] 12+ messages in thread

end of thread, other threads:[~2026-11-03 23:58 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-02 18:05 [PATCH 1/1] drm/xe: Add support for Wa_14028250015 Alan Previn
2026-11-02 18:26 ` ✗ CI.checkpatch: warning for series starting with [1/1] " Patchwork
2026-11-02 18:28 ` ✓ CI.KUnit: success " Patchwork
2026-11-02 19:02 ` ✓ Xe.CI.BAT: " Patchwork
2026-11-02 19:29 ` ✓ Xe.CI.FULL: " Patchwork
2026-11-03  1:57 ` [PATCH 1/1] " Julia Filipchuk
2026-11-03 23:58 ` Gustavo Sousa
  -- strict thread matches above, loose matches on Subject: below --
2026-10-29 18:10 [PATCH 1/1] drm/xe: Add support for WA 14028250015 Alan Previn
2026-10-30 23:12 ` Gustavo Sousa
2026-11-02 16:47   ` Teres Alexis, Alan Previn
2026-11-03 14:33     ` Gustavo Sousa
2026-11-03 22:48       ` Ceraolo Spurio, Daniele

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.