[PATCH] drm/xe/pat: Use XE_WA in xe_pat_init_early

Lucas De Marchi lucas.demarchi at intel.com
Tue Jul 8 03:48:38 UTC 2025


On Mon, Jul 07, 2025 at 03:21:11PM -0700, Ashutosh Dixit wrote:
>Add the missing XE_WA in xe_pat_init_early.
>
>Fixes: 01570b446939 ("drm/xe/bmg: implement Wa_16023588340")
>Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
>---
> drivers/gpu/drm/xe/xe_pat.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_pat.c b/drivers/gpu/drm/xe/xe_pat.c
>index 2e7cb99ae87aa..d36da052f8a43 100644
>--- a/drivers/gpu/drm/xe/xe_pat.c
>+++ b/drivers/gpu/drm/xe/xe_pat.c
>@@ -384,8 +384,7 @@ void xe_pat_init_early(struct xe_device *xe)
> 		if (IS_DGFX(xe))
> 			xe->pat.pat_pta = &xe2_pat_pta;
>
>-		/* Wa_16023588340. XXX: Should use XE_WA */
>-		if (GRAPHICS_VERx100(xe) == 2001)
>+		if (XE_WA(xe_root_mmio_gt(xe), 16023588340))

xe_device_probe()
	xe_pat_init_early() // -> OOB WAs are not initialized at this point
	...
	for_each_gt()
		xe_gt_init_early()
			xe_wa_init()
			xe_wa_process_oob()

you should see this assert triggered:
	xe_gt_assert(gt__, (gt__)->wa_active.oob_initialized); 

Lucas De Marchi

> 			xe->pat.n_entries = 28; /* Disable CLOS3 */
> 		else
> 			xe->pat.n_entries = ARRAY_SIZE(xe2_pat_table);
>-- 
>2.48.1
>


More information about the Intel-xe mailing list