On 7/16/2026 5:32 PM, Golani, Mitulkumar Ajitkumar wrote:


-----Original Message-----
From: Borah, Chaitanya Kumar <[email protected]>
Sent: 15 July 2026 18:45
To: Golani, Mitulkumar Ajitkumar <[email protected]>;
[email protected]
Cc: [email protected]; Shankar, Uma <[email protected]>;
Nautiyal, Ankit K <[email protected]>
Subject: Re: [PATCH v3 5/8] drm/i915/vrr: Move CMRR hw registers to fix
refresh rate path



On 7/14/2026 4:09 PM, Mitul Golani wrote:
Move CMRR register writes to fix refresh rate register write path to
consolidate with fix refresh rate implementation.

Signed-off-by: Mitul Golani <[email protected]>
---
   drivers/gpu/drm/i915/display/intel_vrr.c | 22 +++++++++++-----------
   1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c
b/drivers/gpu/drm/i915/display/intel_vrr.c
index 25ce56d48bb1..95c7b0c05ec3 100644
--- a/drivers/gpu/drm/i915/display/intel_vrr.c
+++ b/drivers/gpu/drm/i915/display/intel_vrr.c
@@ -337,6 +337,17 @@ void intel_vrr_set_fixed_rr_timings(const struct
intel_crtc_state *crtc_state,
        if (!intel_vrr_possible(crtc_state))
                return;

+       if (crtc_state->vrr.cmrr.enable) {
+               intel_de_write(display, TRANS_CMRR_M_HI(display,
transcoder),
+                              upper_32_bits(crtc_state->vrr.cmrr.cmrr_m));
+               intel_de_write(display, TRANS_CMRR_M_LO(display,
transcoder),
+                              lower_32_bits(crtc_state->vrr.cmrr.cmrr_m));
+               intel_de_write(display, TRANS_CMRR_N_HI(display,
transcoder),
+                              upper_32_bits(crtc_state->vrr.cmrr.cmrr_n));
+               intel_de_write(display, TRANS_CMRR_N_LO(display,
transcoder),
+                              lower_32_bits(crtc_state->vrr.cmrr.cmrr_n));

Shouldn't TRANS_CMRR_N_HI be the last register to be written.

No functional change has done, just moved to fix refresh rate path.

In later patches when actual enable/disable sequence is computed, there 
suggested changes are applied.


The function is never touched in the later patches.

Thanks


+       }
+
        intel_de_write(display, TRANS_VRR_VMIN(display, transcoder),
                       intel_vrr_fixed_rr_hw_vmin(crtc_state) - 1);
        intel_de_write(display, TRANS_VRR_VMAX(display, transcoder), @@
-648,17 +659,6 @@ void intel_vrr_set_transcoder_timings(const struct
intel_crtc_state *crtc_state)
                return;
        }

-       if (crtc_state->vrr.cmrr.enable) {
-               intel_de_write(display, TRANS_CMRR_M_HI(display,
cpu_transcoder),
-                              upper_32_bits(crtc_state->vrr.cmrr.cmrr_m));
-               intel_de_write(display, TRANS_CMRR_M_LO(display,
cpu_transcoder),
-                              lower_32_bits(crtc_state->vrr.cmrr.cmrr_m));
-               intel_de_write(display, TRANS_CMRR_N_HI(display,
cpu_transcoder),
-                              upper_32_bits(crtc_state->vrr.cmrr.cmrr_n));
-               intel_de_write(display, TRANS_CMRR_N_LO(display,
cpu_transcoder),
-                              lower_32_bits(crtc_state->vrr.cmrr.cmrr_n));
-       }
-
        intel_vrr_set_fixed_rr_timings(crtc_state, cpu_transcoder);
        intel_cmtg_set_vrr_timings(crtc_state);



Reply via email to