On Thu, 10 Mar 2022, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > No reason to keep the DRRS enable/disable hidden insider the encoder > hooks. Let's just move them all the way up into platform independent > code so that all platforms get to use them. These are nops when > the state computation doesn't think DRRS is possible. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_ddi.c | 3 --- > drivers/gpu/drm/i915/display/intel_display.c | 4 ++++ > 2 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c > index a3bf4e876fb4..e2b297d2c295 100644 > --- a/drivers/gpu/drm/i915/display/intel_ddi.c > +++ b/drivers/gpu/drm/i915/display/intel_ddi.c > @@ -2820,8 +2820,6 @@ static void intel_enable_ddi_dp(struct intel_atomic_state *state, > if (!dig_port->lspcon.active || dig_port->dp.has_hdmi_sink) > intel_dp_set_infoframes(encoder, true, crtc_state, conn_state); > > - intel_drrs_enable(crtc_state); > - > if (crtc_state->has_audio) > intel_audio_codec_enable(encoder, crtc_state, conn_state); > > @@ -2963,7 +2961,6 @@ static void intel_disable_ddi_dp(struct intel_atomic_state *state, > intel_audio_codec_disable(encoder, > old_crtc_state, old_conn_state); > > - intel_drrs_disable(old_crtc_state); > intel_psr_disable(intel_dp, old_crtc_state); > intel_edp_backlight_off(old_conn_state); > /* Disable the decompression in DP Sink */ > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index 4c7c74665819..455f19e6d43d 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -8106,6 +8106,8 @@ static void intel_enable_crtc(struct intel_atomic_state *state, > if (intel_crtc_is_bigjoiner_slave(new_crtc_state)) > return; > > + intel_drrs_enable(new_crtc_state); > + > /* vblanks work again, re-enable pipe CRC. */ > intel_crtc_enable_pipe_crc(crtc); > } > @@ -8175,6 +8177,8 @@ static void intel_old_crtc_state_disables(struct intel_atomic_state *state, > */ > intel_crtc_disable_pipe_crc(crtc); > > + intel_drrs_disable(old_crtc_state); > + > dev_priv->display->crtc_disable(state, crtc); > crtc->active = false; > intel_fbc_disable(crtc); -- Jani Nikula, Intel Open Source Graphics Center