[PATCH v2 1/2] drm/xe: fix WA 14018094691

Lucas De Marchi lucas.demarchi at intel.com
Thu Aug 8 06:47:35 UTC 2024


On Wed, Aug 07, 2024 at 04:53:32PM GMT, Daniele Ceraolo Spurio wrote:
>This WA is applied while initializing the media GT, but it a primary

							 it is?

>GT WA (because it modifies a register on the primary GT), so the XE_WA
>macro is returning false even when the WA should be applied.
>Fix this by using the primary GT in the macro.
>
>Note that this WA only applies to PXP and we don't yet support that in
>Xe, so there are no negative effects to this bug, which is why we didn't
>see any errors in testing.
>
>v2: use the primary GT in the macro instead of marking the WA as
>platform-wide (Lucas, Matt).
>
>Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>Cc: Matt Roper <matthew.d.roper at intel.com>
>Cc: Lucas De Marchi <lucas.demarchi at intel.com>

typo above can be fixed while applying.

Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>

Lucas De Marchi

>---
> drivers/gpu/drm/xe/xe_gsc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
>index f8239a13fa2b..77ce44e845c5 100644
>--- a/drivers/gpu/drm/xe/xe_gsc.c
>+++ b/drivers/gpu/drm/xe/xe_gsc.c
>@@ -260,7 +260,7 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
> 	struct xe_tile *tile = gt_to_tile(gt);
> 	int ret;
>
>-	if (XE_WA(gt, 14018094691)) {
>+	if (XE_WA(tile->primary_gt, 14018094691)) {
> 		ret = xe_force_wake_get(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
>
> 		/*
>@@ -278,7 +278,7 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
>
> 	ret = gsc_upload(gsc);
>
>-	if (XE_WA(gt, 14018094691))
>+	if (XE_WA(tile->primary_gt, 14018094691))
> 		xe_force_wake_put(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
>
> 	if (ret)
>-- 
>2.43.0
>


More information about the Intel-xe mailing list