Skip to content

Commit e67a35b

Browse files
harishchegondiashutoshx
authored andcommitted
drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
Add PVC workaround 22016596838 that disables EU DOP gating during EU stall sampling. Signed-off-by: Harish Chegondi <[email protected]> Reviewed-by: Ashutosh Dixit <[email protected]> Signed-off-by: Ashutosh Dixit <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/062a12ed9e110fea420cd47cb70fb10136ee9132.1740533885.git.harish.chegondi@intel.com
1 parent cd5bbb2 commit e67a35b

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

drivers/gpu/drm/xe/xe_eu_stall.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/types.h>
1010

1111
#include <drm/drm_drv.h>
12+
#include <generated/xe_wa_oob.h>
1213
#include <uapi/drm/xe_drm.h>
1314

1415
#include "xe_bo.h"
@@ -22,6 +23,7 @@
2223
#include "xe_observation.h"
2324
#include "xe_pm.h"
2425
#include "xe_trace.h"
26+
#include "xe_wa.h"
2527

2628
#include "regs/xe_eu_stall_regs.h"
2729
#include "regs/xe_gt_regs.h"
@@ -642,6 +644,10 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
642644
return -ETIMEDOUT;
643645
}
644646

647+
if (XE_WA(gt, 22016596838))
648+
xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
649+
_MASKED_BIT_ENABLE(DISABLE_DOP_GATING));
650+
645651
for_each_dss_steering(xecore, gt, group, instance) {
646652
write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, group, instance);
647653
/* Clear any drop bits set and not cleared in the previous session. */
@@ -793,6 +799,10 @@ static int xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
793799

794800
cancel_delayed_work_sync(&stream->buf_poll_work);
795801

802+
if (XE_WA(gt, 22016596838))
803+
xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
804+
_MASKED_BIT_DISABLE(DISABLE_DOP_GATING));
805+
796806
xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER);
797807
xe_pm_runtime_put(gt_to_xe(gt));
798808

drivers/gpu/drm/xe/xe_wa_oob.rules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
22011391025 PLATFORM(DG2)
66
22012727170 SUBPLATFORM(DG2, G11)
77
22012727685 SUBPLATFORM(DG2, G11)
8+
22016596838 PLATFORM(PVC)
89
18020744125 PLATFORM(PVC)
910
1509372804 PLATFORM(PVC), GRAPHICS_STEP(A0, C0)
1011
1409600907 GRAPHICS_VERSION_RANGE(1200, 1250)

0 commit comments

Comments
 (0)