Re: [PATCH v2 4/8] drm/i915/reset: add intel_display_reset_test()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 25 Feb 2025, Jani Nikula <jani.nikula@xxxxxxxxx> 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.roper@xxxxxxxxx>
> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
> ---
>  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



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux