[Intel-xe] [PATCH] drm/xe: Add fake workaround to maintain backward compatible in MI_BATCH_BUFFER_START
José Roberto de Souza
jose.souza at intel.com
Sun Jan 29 21:30:44 UTC 2023
i915 has the same fake workaround to return MI_BATCH_BUFFER_START
nested batch buffer behavior in DG2 and newer platforms to the same
behavior as older platforms.
So here cleaning up TGL_NESTED_BB_EN in MI_MODE to disable third level
chained batch buffer level.
Bspec: 45974, 45718
Cc: Matt Roper <matthew.d.roper at intel.com>
Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
---
drivers/gpu/drm/xe/xe_rtp_types.h | 2 ++
drivers/gpu/drm/xe/xe_wa.c | 11 +++++++++++
2 files changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_rtp_types.h b/drivers/gpu/drm/xe/xe_rtp_types.h
index 14e5d4dbb4c15..72f3e2e83014f 100644
--- a/drivers/gpu/drm/xe/xe_rtp_types.h
+++ b/drivers/gpu/drm/xe/xe_rtp_types.h
@@ -52,6 +52,8 @@ enum {
XE_RTP_MATCH_FUNC,
};
+#define IP_VERSION_FOREVER 9900
+
/** struct xe_rtp_rule - match rule for processing entry */
struct xe_rtp_rule {
u8 match_type;
diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
index 3325de3edf691..3616b2284d186 100644
--- a/drivers/gpu/drm/xe/xe_wa.c
+++ b/drivers/gpu/drm/xe/xe_wa.c
@@ -285,6 +285,17 @@ static const struct xe_rtp_entry lrc_was[] = {
DG1_HZ_READ_SUPPRESSION_OPTIMIZATION_DISABLE,
XE_RTP_FLAG(MASKED_REG))
},
+ { XE_RTP_NAME("FakeWaDisableNestedBBMode"),
+ /*
+ * This is a "fake" workaround defined by software to ensure we
+ * maintain reliable, backward-compatible behavior for userspace with
+ * regards to how nested MI_BATCH_BUFFER_START commands are handled.
+ */
+ XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1255, IP_VERSION_FOREVER)),
+ XE_RTP_CLR(RING_MI_MODE(0),
+ TGL_NESTED_BB_EN,
+ XE_RTP_FLAG(MASKED_REG, ENGINE_BASE))
+ },
{}
};
--
2.39.1
More information about the Intel-xe
mailing list