On Tue, 25 Feb 2025, Jani Nikula <jani.nik...@intel.com> wrote:
> 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.ro...@intel.com>
> Signed-off-by: Jani Nikula <jani.nik...@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);
> -

Gah, a rebase fail.

>       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);

-- 
Jani Nikula, Intel

Reply via email to