[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