> -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Ville > Syrjala > Sent: 01 September 2023 18:35 > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Subject: [PATCH 09/12] drm/i915: Disable VRR during seamless > M/N changes > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Make life less confusing by making sure VRR is disabled whenever we do any > drastic changes to the display timings, such as seamless M/N changes. > > Cc: Manasi Navare <navaremanasi@xxxxxxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_display.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > b/drivers/gpu/drm/i915/display/intel_display.c > index c20eaf0e7a91..cbbee303cd00 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -916,13 +916,15 @@ static bool planes_disabling(const struct > intel_crtc_state *old_crtc_state, static bool vrr_enabling(const struct > intel_crtc_state *old_crtc_state, > const struct intel_crtc_state *new_crtc_state) { > - return is_enabling(vrr.enable, old_crtc_state, new_crtc_state); > + return is_enabling(vrr.enable, old_crtc_state, new_crtc_state) || > + (new_crtc_state->vrr.enable && new_crtc_state- > >update_m_n); > } > > static bool vrr_disabling(const struct intel_crtc_state *old_crtc_state, > const struct intel_crtc_state *new_crtc_state) { > - return is_disabling(vrr.enable, old_crtc_state, new_crtc_state); > + return is_disabling(vrr.enable, old_crtc_state, new_crtc_state) || > + (old_crtc_state->vrr.enable && new_crtc_state- > >update_m_n); > } It seems when VRR is already enabled and during seamless M/N changes, disabled VRR and enabled back again. Change LGTM. Reviewed-by: Mitul Golani <mitulkumar.ajitkumar.golani@xxxxxxxxx> > > #undef is_disabling > -- > 2.41.0