intel_dp_dual_mode_set_tmds_output(intel_hdmi, false);
 }
 
-static void intel_ddi_post_disable(struct intel_atomic_state *state,
-                                  struct intel_encoder *encoder,
-                                  const struct intel_crtc_state *old_crtc_state,
-                                  const struct drm_connector_state *old_conn_state)
+static void intel_ddi_post_disable_hdmi_or_sst(struct intel_atomic_state *state,
+                                              struct intel_encoder *encoder,
+                                              const struct intel_crtc_state *old_crtc_state,
+                                              const struct drm_connector_state *old_conn_state)
 {
        struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
        struct intel_crtc *slave_crtc;
 
-       if (!intel_crtc_has_type(old_crtc_state, INTEL_OUTPUT_DP_MST)) {
-               intel_crtc_vblank_off(old_crtc_state);
+       intel_crtc_vblank_off(old_crtc_state);
 
-               intel_disable_transcoder(old_crtc_state);
+       intel_disable_transcoder(old_crtc_state);
 
-               intel_ddi_disable_transcoder_func(old_crtc_state);
+       intel_ddi_disable_transcoder_func(old_crtc_state);
 
-               intel_dsc_disable(old_crtc_state);
+       intel_dsc_disable(old_crtc_state);
 
-               if (DISPLAY_VER(dev_priv) >= 9)
-                       skl_scaler_disable(old_crtc_state);
-               else
-                       ilk_pfit_disable(old_crtc_state);
-       }
+       if (DISPLAY_VER(dev_priv) >= 9)
+               skl_scaler_disable(old_crtc_state);
+       else
+               ilk_pfit_disable(old_crtc_state);
 
        for_each_intel_crtc_in_pipe_mask(&dev_priv->drm, slave_crtc,
                                         intel_crtc_bigjoiner_slave_pipes(old_crtc_state)) {
                intel_dsc_disable(old_slave_crtc_state);
                skl_scaler_disable(old_slave_crtc_state);
        }
+}
+
+static void intel_ddi_post_disable(struct intel_atomic_state *state,
+                                  struct intel_encoder *encoder,
+                                  const struct intel_crtc_state *old_crtc_state,
+                                  const struct drm_connector_state *old_conn_state)
+{
+       if (!intel_crtc_has_type(old_crtc_state, INTEL_OUTPUT_DP_MST))
+               intel_ddi_post_disable_hdmi_or_sst(state, encoder, old_crtc_state,
+                                                  old_conn_state);
 
        /*
         * When called from DP MST code: