return dpu_enc->wide_bus_en;
 }
 
+bool dpu_encoder_is_dsc_enabled(const struct drm_encoder *drm_enc)
+{
+       const struct dpu_encoder_virt *dpu_enc = to_dpu_encoder_virt(drm_enc);
+
+       return dpu_enc->dsc ? true : false;
+}
+
 int dpu_encoder_get_crc_values_cnt(const struct drm_encoder *drm_enc)
 {
        struct dpu_encoder_virt *dpu_enc;
 
 
 bool dpu_encoder_is_widebus_enabled(const struct drm_encoder *drm_enc);
 
+/**
+ * dpu_encoder_is_dsc_enabled - indicate whether dsc is enabled
+ *                             for the encoder.
+ * @drm_enc:    Pointer to previously created drm encoder structure
+ */
+bool dpu_encoder_is_dsc_enabled(const struct drm_encoder *drm_enc);
+
 /**
  * dpu_encoder_get_crc_values_cnt - get number of physical encoders contained
  *     in virtual encoder that can collect CRC values
 
        hsync_ctl = (hsync_period << 16) | p->hsync_pulse_width;
        display_hctl = (hsync_end_x << 16) | hsync_start_x;
 
-       /*
-        * DATA_HCTL_EN controls data timing which can be different from
-        * video timing. It is recommended to enable it for all cases, except
-        * if compression is enabled in 1 pixel per clock mode
-        */
        if (p->wide_bus_en)
-               intf_cfg2 |= INTF_CFG2_DATABUS_WIDEN | INTF_CFG2_DATA_HCTL_EN;
+               intf_cfg2 |= INTF_CFG2_DATABUS_WIDEN;
 
        data_width = p->width;
 
        DPU_REG_WRITE(c, INTF_CONFIG, intf_cfg);
        DPU_REG_WRITE(c, INTF_PANEL_FORMAT, panel_format);
        if (ctx->cap->features & BIT(DPU_DATA_HCTL_EN)) {
+               /*
+                * DATA_HCTL_EN controls data timing which can be different from
+                * video timing. It is recommended to enable it for all cases, except
+                * if compression is enabled in 1 pixel per clock mode
+                */
+               if (!(p->compression_en && !p->wide_bus_en))
+                       intf_cfg2 |= INTF_CFG2_DATA_HCTL_EN;
+
                DPU_REG_WRITE(c, INTF_CONFIG2, intf_cfg2);
                DPU_REG_WRITE(c, INTF_DISPLAY_DATA_HCTL, display_data_hctl);
                DPU_REG_WRITE(c, INTF_ACTIVE_DATA_HCTL, active_data_hctl);