Gentle Reminder! > -----Original Message----- > From: Murthy, Arun R > Sent: Tuesday, June 16, 2026 1:36 PM > To: [email protected]; [email protected] > Subject: RE: [PATCH] drm/i915/drrs: Synchronize drrs activate with debugfs > > 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
