{
        struct dpu_hw_blk_reg_map *c = &ctx->hw;
        u32 intf_active = 0;
+       u32 dsc_active = 0;
        u32 wb_active = 0;
        u32 mode_sel = 0;
 
 
        intf_active = DPU_REG_READ(c, CTL_INTF_ACTIVE);
        wb_active = DPU_REG_READ(c, CTL_WB_ACTIVE);
+       dsc_active = DPU_REG_READ(c, CTL_DSC_ACTIVE);
 
        if (cfg->intf)
                intf_active |= BIT(cfg->intf - INTF_0);
        if (cfg->wb)
                wb_active |= BIT(cfg->wb - WB_0);
 
+       if (cfg->dsc)
+               dsc_active |= cfg->dsc;
+
        DPU_REG_WRITE(c, CTL_TOP, mode_sel);
        DPU_REG_WRITE(c, CTL_INTF_ACTIVE, intf_active);
        DPU_REG_WRITE(c, CTL_WB_ACTIVE, wb_active);
+       DPU_REG_WRITE(c, CTL_DSC_ACTIVE, dsc_active);
 
        if (cfg->merge_3d)
                DPU_REG_WRITE(c, CTL_MERGE_3D_ACTIVE,
                              BIT(cfg->merge_3d - MERGE_3D_0));
 
-       if (cfg->dsc)
-               DPU_REG_WRITE(c, CTL_DSC_ACTIVE, cfg->dsc);
-
        if (cfg->cdm)
                DPU_REG_WRITE(c, CTL_CDM_ACTIVE, cfg->cdm);
 }