Re: [PATCH v6 4/9] drm/i915/vrr: Update AS_SDP target_rr_divider based on CMRR config request
"Borah, Chaitanya Kumar" <[email protected]> Thu, 23 Jul 2026 21:47:26 +0530
| Newsgroups | org.freedesktop.lists.intel-gfx,org.freedesktop.lists.intel-xe |
|---|---|
| Message-ID | <[email protected]> |
On 7/22/2026 10:09 AM, Mitul Golani wrote: > Compute AS_SDP target_rr_divider based on actual CMRR request > requirement. > > Signed-off-by: Mitul Golani <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_dp.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 1915d376b943..23e169d8db7b 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -3111,6 +3111,7 @@ static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp, > struct drm_dp_as_sdp *as_sdp = &crtc_state->infoframes.as_sdp; > const struct drm_display_mode *adjusted_mode = > &crtc_state->hw.adjusted_mode; > + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); > > /* > * #FIXME: SDP/infoframe updates aren’t truly atomic, and with the new > @@ -3131,7 +3132,11 @@ static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp, > if (crtc_state->cmrr.enable) { > as_sdp->mode = DP_AS_SDP_FAVT_TRR_REACHED; > as_sdp->target_rr = drm_mode_vrefresh(adjusted_mode); > - as_sdp->target_rr_divider = true; > + > + if (crtc->force_cmrr.denominator == 1001) > + as_sdp->target_rr_divider = true; > + else > + as_sdp->target_rr_divider = false; This should eventually move to state tracking. But for now works. One fragility is that we use den == 1001 here and den != 1000 in compute config. Not a blocker though. Reviewed-by: Chaitanya Kumar Borah <[email protected]> > } else if (crtc_state->vrr.enable) { > as_sdp->mode = DP_AS_SDP_AVT_DYNAMIC_VTOTAL; > } else {