Any comments?

Thanks and Regards,
Arun R Murthy
--------------------

> -----Original Message-----
> From: Murthy, Arun R <[email protected]>
> Sent: Monday, June 1, 2026 8:13 PM
> To: [email protected]; [email protected]
> Cc: Murthy, Arun R <[email protected]>
> Subject: [PATCH] drm/i915/drrs: Synchronize drrs activate with debugfs
> 
> Honor the drrs deactivate coming from debugfs and keep it disabled until the
> same is enabled from the user.
> 
> Signed-off-by: Arun R Murthy <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_display_types.h |  2 ++
>  drivers/gpu/drm/i915/display/intel_drrs.c          | 10 ++++++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 84bd0d993197..709595bde8d3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1537,6 +1537,8 @@ struct intel_crtc {
>               unsigned int busy_frontbuffer_bits;
>               enum transcoder cpu_transcoder;
>               struct intel_link_m_n m_n, m2_n2;
> +             /* Runtime override; set to keep DRRS off across commits. */
> +             bool force_disabled;
>       } drrs;
> 
>       struct {
> diff --git a/drivers/gpu/drm/i915/display/intel_drrs.c
> b/drivers/gpu/drm/i915/display/intel_drrs.c
> index 0fdb32ef241c..6bebb04034e6 100644
> --- a/drivers/gpu/drm/i915/display/intel_drrs.c
> +++ b/drivers/gpu/drm/i915/display/intel_drrs.c
> @@ -165,6 +165,12 @@ void intel_drrs_activate(const struct intel_crtc_state
> *crtc_state)
> 
>       mutex_lock(&crtc->drrs.mutex);
> 
> +     /* don't re-arm DRRS if forcefully disabled by debugfs */
> +     if (crtc->drrs.force_disabled) {
> +             mutex_unlock(&crtc->drrs.mutex);
> +             return;
> +     }
> +
>       crtc->drrs.cpu_transcoder = crtc_state->cpu_transcoder;
>       crtc->drrs.m_n = crtc_state->dp_m_n;
>       crtc->drrs.m2_n2 = crtc_state->dp_m2_n2; @@ -376,6 +382,10 @@
> static int intel_drrs_debugfs_ctl_set(void *data, u64 val)
> 
>       drm_dbg_kms(display->drm, "Manually %sactivating DRRS\n", val ? "" :
> "de");
> 
> +     mutex_lock(&crtc->drrs.mutex);
> +     crtc->drrs.force_disabled = !val;
> +     mutex_unlock(&crtc->drrs.mutex);
> +
>       if (val)
>               intel_drrs_activate(crtc_state);
>       else
> --
> 2.25.1

Reply via email to