Message ID | 11e61dca26781cee507f14e0beb7edcc06e86906.1740481927.git.jani.nikula@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/i915: display reset cleanups | expand |
On Tue, Feb 25, 2025 at 01:14:21PM +0200, Jani Nikula wrote: > Deduplicate the gpu_reset_clobbers_display() part by passing the > information in from gt side. > > Cc: Matt Roper <matthew.d.roper@intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> > --- > drivers/gpu/drm/i915/display/intel_display_reset.c | 12 ++---------- > drivers/gpu/drm/i915/display/intel_display_reset.h | 2 +- > drivers/gpu/drm/i915/gt/intel_reset.c | 2 +- > 3 files changed, 4 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c > index 362436cd280f..aafee2df6501 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_reset.c > +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c > @@ -14,14 +14,6 @@ > #include "intel_hotplug.h" > #include "intel_pps.h" > > -static bool gpu_reset_clobbers_display(struct intel_display *display) > -{ > - struct drm_i915_private *i915 = to_i915(display->drm); > - > - return (INTEL_INFO(i915)->gpu_reset_clobbers_display && > - intel_has_gpu_reset(to_gt(i915))); > -} > - > bool intel_display_reset_test(struct intel_display *display) > { > return display->params.force_reset_modeset_test; > @@ -80,7 +72,7 @@ void intel_display_reset_prepare(struct intel_display *display) > state->acquire_ctx = ctx; > } > > -void intel_display_reset_finish(struct intel_display *display) > +void intel_display_reset_finish(struct intel_display *display, bool test_only) > { > struct drm_i915_private *i915 = to_i915(display->drm); > struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx; > @@ -95,7 +87,7 @@ void intel_display_reset_finish(struct intel_display *display) > goto unlock; > > /* reset doesn't touch the display */ > - if (!gpu_reset_clobbers_display(display)) { > + if (test_only) { > /* for testing only restore the display */ > ret = drm_atomic_helper_commit_duplicated_state(state, ctx); > if (ret) { > diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h > index c1dd2e8d0914..985766cde001 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_reset.h > +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h > @@ -12,6 +12,6 @@ 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); > +void intel_display_reset_finish(struct intel_display *display, bool test_only); > > #endif /* __INTEL_RESET_H__ */ > diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c > index 62590ed91cf2..2ca12bbf168f 100644 > --- a/drivers/gpu/drm/i915/gt/intel_reset.c > +++ b/drivers/gpu/drm/i915/gt/intel_reset.c > @@ -1431,7 +1431,7 @@ static void display_reset_finish(struct intel_gt *gt) > if (!test_bit(I915_RESET_MODESET, >->reset.flags)) > return; > > - intel_display_reset_finish(display); > + intel_display_reset_finish(display, !gt_reset_clobbers_display(gt)); > > clear_bit_unlock(I915_RESET_MODESET, >->reset.flags); > } > -- > 2.39.5 >
diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.c b/drivers/gpu/drm/i915/display/intel_display_reset.c index 362436cd280f..aafee2df6501 100644 --- a/drivers/gpu/drm/i915/display/intel_display_reset.c +++ b/drivers/gpu/drm/i915/display/intel_display_reset.c @@ -14,14 +14,6 @@ #include "intel_hotplug.h" #include "intel_pps.h" -static bool gpu_reset_clobbers_display(struct intel_display *display) -{ - struct drm_i915_private *i915 = to_i915(display->drm); - - return (INTEL_INFO(i915)->gpu_reset_clobbers_display && - intel_has_gpu_reset(to_gt(i915))); -} - bool intel_display_reset_test(struct intel_display *display) { return display->params.force_reset_modeset_test; @@ -80,7 +72,7 @@ void intel_display_reset_prepare(struct intel_display *display) state->acquire_ctx = ctx; } -void intel_display_reset_finish(struct intel_display *display) +void intel_display_reset_finish(struct intel_display *display, bool test_only) { struct drm_i915_private *i915 = to_i915(display->drm); struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx; @@ -95,7 +87,7 @@ void intel_display_reset_finish(struct intel_display *display) goto unlock; /* reset doesn't touch the display */ - if (!gpu_reset_clobbers_display(display)) { + if (test_only) { /* for testing only restore the display */ ret = drm_atomic_helper_commit_duplicated_state(state, ctx); if (ret) { diff --git a/drivers/gpu/drm/i915/display/intel_display_reset.h b/drivers/gpu/drm/i915/display/intel_display_reset.h index c1dd2e8d0914..985766cde001 100644 --- a/drivers/gpu/drm/i915/display/intel_display_reset.h +++ b/drivers/gpu/drm/i915/display/intel_display_reset.h @@ -12,6 +12,6 @@ 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); +void intel_display_reset_finish(struct intel_display *display, bool test_only); #endif /* __INTEL_RESET_H__ */ diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c index 62590ed91cf2..2ca12bbf168f 100644 --- a/drivers/gpu/drm/i915/gt/intel_reset.c +++ b/drivers/gpu/drm/i915/gt/intel_reset.c @@ -1431,7 +1431,7 @@ static void display_reset_finish(struct intel_gt *gt) if (!test_bit(I915_RESET_MODESET, >->reset.flags)) return; - intel_display_reset_finish(display); + intel_display_reset_finish(display, !gt_reset_clobbers_display(gt)); clear_bit_unlock(I915_RESET_MODESET, >->reset.flags); }
Deduplicate the gpu_reset_clobbers_display() part by passing the information in from gt side. Cc: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/display/intel_display_reset.c | 12 ++---------- drivers/gpu/drm/i915/display/intel_display_reset.h | 2 +- drivers/gpu/drm/i915/gt/intel_reset.c | 2 +- 3 files changed, 4 insertions(+), 12 deletions(-)