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
