[PATCH 5/5] drm/i915: Add Wa_14021768792 as per WA framework

Ankit Nautiyal ankit.k.nautiyal at intel.com
Fri Aug 2 11:24:36 UTC 2024


Modify the condition for WA as per Xe WA framework.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c    | 4 ++--
 drivers/gpu/drm/i915/display/intel_display_wa.h | 2 ++
 drivers/gpu/drm/xe/display/xe_display_wa.c      | 5 +++++
 drivers/gpu/drm/xe/xe_wa_oob.rules              | 1 +
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index d3cd7281c68e..33c023ec2088 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -74,6 +74,7 @@
 #include "intel_display_driver.h"
 #include "intel_display_power.h"
 #include "intel_display_types.h"
+#include "intel_display_wa.h"
 #include "intel_dmc.h"
 #include "intel_dp.h"
 #include "intel_dp_link_training.h"
@@ -3431,8 +3432,7 @@ int bmg_can_bypass_m_n_limit(struct drm_i915_private *i915,
 			     int m_n_ratio,
 			     enum pipe pipe)
 {
-	if (DISPLAY_VER(i915) != 14 || !IS_DGFX(i915) ||
-	    !IS_DISPLAY_STEP(i915, STEP_C0, STEP_FOREVER))
+	if (!intel_display_needs_wa_14021768792(i915))
 		return false;
 
 	if (pipe != PIPE_A)
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
index be644ab6ae00..10c1b5787d05 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
@@ -14,8 +14,10 @@ void intel_display_wa_apply(struct drm_i915_private *i915);
 
 #ifdef I915
 static inline bool intel_display_needs_wa_16023588340(struct drm_i915_private *i915) { return false; }
+static inline bool intel_display_needs_wa_14021768792(struct drm_i915_private *i915) { return false; }
 #else
 bool intel_display_needs_wa_16023588340(struct drm_i915_private *i915);
+bool intel_display_needs_wa_14021768792(struct drm_i915_private *i915);
 #endif
 
 #endif
diff --git a/drivers/gpu/drm/xe/display/xe_display_wa.c b/drivers/gpu/drm/xe/display/xe_display_wa.c
index 68e3d1959ad6..c4728e61e190 100644
--- a/drivers/gpu/drm/xe/display/xe_display_wa.c
+++ b/drivers/gpu/drm/xe/display/xe_display_wa.c
@@ -14,3 +14,8 @@ bool intel_display_needs_wa_16023588340(struct drm_i915_private *i915)
 {
 	return XE_WA(xe_root_mmio_gt(i915), 16023588340);
 }
+
+bool intel_display_needs_wa_14021768792(struct drm_i915_private *i915)
+{
+	return XE_WA(xe_root_mmio_gt(i915), 14021768792);
+}
diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
index 540d38603f32..6687a6b82afc 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -31,3 +31,4 @@
 		GRAPHICS_VERSION(2001)
 22019338487_display	PLATFORM(LUNARLAKE)
 16023588340	GRAPHICS_VERSION(2001)
+14021768792	PLATFORM(BATTLEMAGE), GRAPHICS_STEP(C0, FOREVER)
-- 
2.45.2



More information about the Intel-gfx-trybot mailing list