[PATCH v4 5/5] drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
Harish Chegondi
harish.chegondi at intel.com
Mon Oct 14 06:00:36 UTC 2024
Add PVC workaround 22016596838 that disables EU DOP gating
during EU stall sampling.
Signed-off-by: Harish Chegondi <harish.chegondi at intel.com>
---
drivers/gpu/drm/xe/xe_eu_stall.c | 16 ++++++++++++++++
drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
2 files changed, 17 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 1801b3c03f1f..9f21de7869d7 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -13,6 +13,7 @@
#include "xe_bo.h"
#include "xe_pm.h"
+#include "xe_wa.h"
#include "xe_trace.h"
#include "xe_macros.h"
#include "xe_device.h"
@@ -26,6 +27,8 @@
#include "regs/xe_gt_regs.h"
#include "regs/xe_eu_stall_regs.h"
+#include <generated/xe_wa_oob.h>
+
#define DEFAULT_POLL_FREQUENCY_HZ 100
#define DEFAULT_POLL_PERIOD_NS (NSEC_PER_SEC / DEFAULT_POLL_FREQUENCY_HZ)
@@ -610,6 +613,14 @@ xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
xe_pm_runtime_get(gt_to_xe(gt));
XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FW_RENDER));
+ /*
+ * Wa_22016596838:pvc
+ * Disable EU DOP gating for PVC.
+ */
+ if (XE_WA(gt, 22016596838))
+ xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
+ _MASKED_BIT_ENABLE(DISABLE_DOP_GATING));
+
reg_value = gen_eustall_base(stream, true);
xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
}
@@ -641,6 +652,11 @@ xe_eu_stall_stream_disable(struct xe_eu_stall_data_stream *stream)
reg_value = gen_eustall_base(stream, false);
xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
+ /* Wa_22016596838:pvc */
+ if (XE_WA(gt, 22016596838))
+ xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
+ _MASKED_BIT_DISABLE(DISABLE_DOP_GATING));
+
XE_WARN_ON(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 264d6e116499..a648dca61f30 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -4,6 +4,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)
--
2.45.1
More information about the Intel-xe
mailing list