On Fri, 13 Aug 2021, Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> wrote: > On Fri, Aug 13, 2021 at 02:56:10PM +0300, Jani Nikula wrote: >> Less is more, fewer lines to wonder about. >> >> Cc: Manasi Navare <manasi.d.navare@xxxxxxxxx> >> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > > Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Thanks! > although sometimes I get myself wondering we might get in some > case where our check inside the rmw function, to avoid writing the > same value, could cause some situation where we should perform > the write operation regardless. Me too. I could be persuaded to change the rmw function to not optimize the write away. BR, Jani. > >> --- >> drivers/gpu/drm/i915/display/intel_dp_mst.c | 9 ++------- >> 1 file changed, 2 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c >> index 8d13d7b26a25..9859c0334ebc 100644 >> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c >> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c >> @@ -396,7 +396,6 @@ static void intel_mst_post_disable_dp(struct intel_atomic_state *state, >> to_intel_connector(old_conn_state->connector); >> struct drm_i915_private *dev_priv = to_i915(connector->base.dev); >> bool last_mst_stream; >> - u32 val; >> >> intel_dp->active_mst_links--; >> last_mst_stream = intel_dp->active_mst_links == 0; >> @@ -412,12 +411,8 @@ static void intel_mst_post_disable_dp(struct intel_atomic_state *state, >> >> clear_act_sent(encoder, old_crtc_state); >> >> - val = intel_de_read(dev_priv, >> - TRANS_DDI_FUNC_CTL(old_crtc_state->cpu_transcoder)); >> - val &= ~TRANS_DDI_DP_VC_PAYLOAD_ALLOC; >> - intel_de_write(dev_priv, >> - TRANS_DDI_FUNC_CTL(old_crtc_state->cpu_transcoder), >> - val); >> + intel_de_rmw(dev_priv, TRANS_DDI_FUNC_CTL(old_crtc_state->cpu_transcoder), >> + TRANS_DDI_DP_VC_PAYLOAD_ALLOC, 0); >> >> wait_for_act_sent(encoder, old_crtc_state); >> >> -- >> 2.20.1 >> -- Jani Nikula, Intel Open Source Graphics Center