From: Harish Chegondi Date: Wed, 26 Feb 2025 01:47:12 +0000 (-0800) Subject: drm/xe/eustall: Add workaround 22016596838 which applies to PVC. X-Git-Tag: v6.15-rc1~120^2~10^2~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e67a35bc953a873881a2a8c1ea27ede5870f5f42;p=thirdparty%2Fkernel%2Flinux.git 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 Reviewed-by: Ashutosh Dixit Signed-off-by: Ashutosh Dixit Link: https://patchwork.freedesktop.org/patch/msgid/062a12ed9e110fea420cd47cb70fb10136ee9132.1740533885.git.harish.chegondi@intel.com --- diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c index 54a0d1f6a4914..88a92baf5c95d 100644 --- a/drivers/gpu/drm/xe/xe_eu_stall.c +++ b/drivers/gpu/drm/xe/xe_eu_stall.c @@ -9,6 +9,7 @@ #include #include +#include #include #include "xe_bo.h" @@ -22,6 +23,7 @@ #include "xe_observation.h" #include "xe_pm.h" #include "xe_trace.h" +#include "xe_wa.h" #include "regs/xe_eu_stall_regs.h" #include "regs/xe_gt_regs.h" @@ -642,6 +644,10 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream) return -ETIMEDOUT; } + if (XE_WA(gt, 22016596838)) + xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2, + _MASKED_BIT_ENABLE(DISABLE_DOP_GATING)); + for_each_dss_steering(xecore, gt, group, instance) { write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, group, instance); /* 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) cancel_delayed_work_sync(&stream->buf_poll_work); + if (XE_WA(gt, 22016596838)) + xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2, + _MASKED_BIT_DISABLE(DISABLE_DOP_GATING)); + xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER); xe_pm_runtime_put(gt_to_xe(gt)); diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules index 1dd02a2319264..e0c5fa4604878 100644 --- a/drivers/gpu/drm/xe/xe_wa_oob.rules +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules @@ -5,6 +5,7 @@ 22011391025 PLATFORM(DG2) 22012727170 SUBPLATFORM(DG2, G11) 22012727685 SUBPLATFORM(DG2, G11) +22016596838 PLATFORM(PVC) 18020744125 PLATFORM(PVC) 1509372804 PLATFORM(PVC), GRAPHICS_STEP(A0, C0) 1409600907 GRAPHICS_VERSION_RANGE(1200, 1250)