@@ -1161,12 +1161,12 @@ void intel_dsc_disable(const struct intel_crtc_state *old_crtc_state)
struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
- if (!(old_crtc_state->dsc.compression_enable &&
- old_crtc_state->bigjoiner))
- return;
-
- intel_de_write(dev_priv, dss_ctl1_reg(old_crtc_state), 0);
- intel_de_write(dev_priv, dss_ctl2_reg(old_crtc_state), 0);
+ /* Disable only if either of them is enabled */
+ if (old_crtc_state->dsc.compression_enable
+ || old_crtc_state->dsc.compression_enable) {
+ intel_de_write(dev_priv, dss_ctl1_reg(old_crtc_state), 0);
+ intel_de_write(dev_priv, dss_ctl2_reg(old_crtc_state), 0);
+ }
}
void intel_uncompressed_joiner_get_config(struct intel_crtc_state *crtc_state)
This change takes care of resetting the dss_ctl registers in case of dsc_disable, bigjoiner disable and also uncompressed joiner disable. Suggested-by: Jani Nikula <jani.nikula@intel.com> Fixes: d961eb20adb6 (drm/i915/bigjoiner: atomic commit changes for uncompressed joiner) Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3537 Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com> --- drivers/gpu/drm/i915/display/intel_vdsc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)