[PATCH v2 4/8] drm/i915/reset: add intel_display_reset_test()
Jani Nikula
jani.nikula at intel.com
Tue Feb 25 11:14:18 UTC 2025
Add a helper for checking if we want to test display reset regardless of
whether it's strictly necessary. This will come in handy in follow-up
work where we want to check this from gt reset side.
Cc: Matt Roper <matthew.d.roper at intel.com>
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
drivers/gpu/drm/i915/display/intel_display_reset.c | 8 ++++++--
drivers/gpu/drm/i915/display/intel_display_reset.h | 3 +++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c
index cef9536c461c..b7962f90c21c 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.c
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.c
@@ -22,6 +22,11 @@ static bool gpu_reset_clobbers_display(struct intel_display *display)
intel_has_gpu_reset(to_gt(i915)));
}
+bool intel_display_reset_test(struct intel_display *display)
+{
+ return display->params.force_reset_modeset_test;
+}
+
void intel_display_reset_prepare(struct intel_display *display)
{
struct drm_i915_private *dev_priv = to_i915(display->drm);
@@ -33,7 +38,7 @@ void intel_display_reset_prepare(struct intel_display *display)
return;
/* reset doesn't touch the display */
- if (!display->params.force_reset_modeset_test &&
+ if (!intel_display_reset_test(display) &&
!gpu_reset_clobbers_display(display))
return;
@@ -41,7 +46,6 @@ void intel_display_reset_prepare(struct intel_display *display)
set_bit(I915_RESET_MODESET, &to_gt(dev_priv)->reset.flags);
smp_mb__after_atomic();
wake_up_bit(&to_gt(dev_priv)->reset.flags, I915_RESET_MODESET);
-
if (atomic_read(&display->restore.pending_fb_pin)) {
drm_dbg_kms(display->drm,
"Modeset potentially stuck, unbreaking through wedging\n");
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h
index 9a1fe99bfcd4..c1dd2e8d0914 100644
--- a/drivers/gpu/drm/i915/display/intel_display_reset.h
+++ b/drivers/gpu/drm/i915/display/intel_display_reset.h
@@ -6,8 +6,11 @@
#ifndef __INTEL_RESET_H__
#define __INTEL_RESET_H__
+#include <linux/types.h>
+
struct intel_display;
+bool intel_display_reset_test(struct intel_display *display);
void intel_display_reset_prepare(struct intel_display *display);
void intel_display_reset_finish(struct intel_display *display);
--
2.39.5
More information about the Intel-gfx
mailing list