[Intel-gfx] [PATCH 1/3] drm/i915/display: Do not schedule DRRS work thread when it is not active
Ville Syrjälä
ville.syrjala at linux.intel.com
Fri Apr 29 16:00:40 UTC 2022
On Thu, Apr 28, 2022 at 02:10:56PM -0700, José Roberto de Souza wrote:
> Frontbuffer updates were scheduling the execution of DRRS work thread
> even if DRRS is not active.
> There was no issues with it because intel_drrs_downclock_work() checks
> if DRRS is active but there is no reason to keep scheduling this work
> thread and wasting CPU time.
>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_drrs.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_drrs.c b/drivers/gpu/drm/i915/display/intel_drrs.c
> index 166caf293f7bc..04bc296761be0 100644
> --- a/drivers/gpu/drm/i915/display/intel_drrs.c
> +++ b/drivers/gpu/drm/i915/display/intel_drrs.c
> @@ -236,6 +236,11 @@ static void intel_drrs_frontbuffer_update(struct drm_i915_private *dev_priv,
> else
> crtc->drrs.busy_frontbuffer_bits &= ~frontbuffer_bits;
>
> + if (!intel_drrs_is_active(crtc)) {
> + mutex_unlock(&crtc->drrs.mutex);
> + continue;
> + }
Should be impossible due to crtc->drrs.frontbuffer_bits==0.
> +
> /* flush/invalidate means busy screen hence upclock */
> intel_drrs_set_state(crtc, DRRS_REFRESH_RATE_HIGH);
>
> --
> 2.36.0
--
Ville Syrjälä
Intel
More information about the Intel-gfx
mailing list