Skip to content

Commit f5cb127

Browse files
dceraolorodrigovivi
authored andcommitted
drm/xe: fix WA 14018094691
This WA is applied while initializing the media GT, but it a primary 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 <[email protected]> Cc: Matt Roper <[email protected]> Cc: Lucas De Marchi <[email protected]> Reviewed-by: Matt Roper <[email protected]> Reviewed-by: Lucas De Marchi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit e422c0b) Signed-off-by: Rodrigo Vivi <[email protected]>
1 parent cbc6e98 commit f5cb127

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/gpu/drm/xe/xe_gsc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
260260
struct xe_tile *tile = gt_to_tile(gt);
261261
int ret;
262262

263-
if (XE_WA(gt, 14018094691)) {
263+
if (XE_WA(tile->primary_gt, 14018094691)) {
264264
ret = xe_force_wake_get(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
265265

266266
/*
@@ -278,7 +278,7 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
278278

279279
ret = gsc_upload(gsc);
280280

281-
if (XE_WA(gt, 14018094691))
281+
if (XE_WA(tile->primary_gt, 14018094691))
282282
xe_force_wake_put(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
283283

284284
if (ret)

0 commit comments

Comments
 (0)