if (dc->hwss.subvp_pipe_control_lock)
                dc->hwss.subvp_pipe_control_lock(dc, context, true, true, NULL, subvp_prev_use);
 
-       if (dc->debug.enable_double_buffered_dsc_pg_support)
+       if (dc->hwss.update_dsc_pg)
                dc->hwss.update_dsc_pg(dc, context, false);
 
        disable_dangling_plane(dc, context);
                dc->hwss.optimize_bandwidth(dc, context);
        }
 
-       if (dc->debug.enable_double_buffered_dsc_pg_support)
+       if (dc->hwss.update_dsc_pg)
                dc->hwss.update_dsc_pg(dc, context, true);
 
        if (dc->ctx->dce_version >= DCE_VERSION_MAX)
 
                dc->hwss.optimize_bandwidth(dc, context);
 
-               if (dc->debug.enable_double_buffered_dsc_pg_support)
+               if (dc->hwss.update_dsc_pg)
                        dc->hwss.update_dsc_pg(dc, context, true);
        }
 
                if (get_seamless_boot_stream_count(context) == 0)
                        dc->hwss.prepare_bandwidth(dc, context);
 
-               if (dc->debug.enable_double_buffered_dsc_pg_support)
+               if (dc->hwss.update_dsc_pg)
                        dc->hwss.update_dsc_pg(dc, context, false);
 
                context_clock_trace(dc, context);
 
        if (hws->ctx->dc->debug.disable_dsc_power_gate)
                return;
 
+       if (!hws->ctx->dc->debug.enable_double_buffered_dsc_pg_support)
+               return;
+
        REG_GET(DC_IP_REQUEST_CNTL, IP_REQUEST_EN, &org_ip_request_cntl);
        if (org_ip_request_cntl == 0)
                REG_SET(DC_IP_REQUEST_CNTL, 0, IP_REQUEST_EN, 1);
 
        .disable_mem_low_power = false,
        .enable_hpo_pg_support = false,
        //must match enable_single_display_2to1_odm_policy to support dynamic ODM transitions
-       .enable_double_buffered_dsc_pg_support = false,
+       .enable_double_buffered_dsc_pg_support = true,
        .enable_dp_dig_pixel_rate_div_policy = 1,
        .disable_z10 = false,
        .ignore_pg = true,