clock_limits[i].socclk_mhz;
                        dc->dml2_options.bbox_overrides.clks_table.clk_entries[i].memclk_mhz =
                                clk_table->entries[i].memclk_mhz * clk_table->entries[i].wck_ratio;
+                       dc->dml2_options.bbox_overrides.clks_table.clk_entries[i].dtbclk_mhz =
+                               clock_limits[i].dtbclk_mhz;
                        dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_dcfclk_levels =
                                clk_table->num_entries;
                        dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_fclk_levels =
                                clk_table->num_entries;
                        dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_memclk_levels =
                                clk_table->num_entries;
+                       dc->dml2_options.bbox_overrides.clks_table.num_entries_per_clk.num_dtbclk_levels =
+                               clk_table->num_entries;
                }
        }
 
                if (context->res_ctx.pipe_ctx[i].plane_state)
                        plane_count++;
        }
+
        /*dcn351 does not support z9/z10*/
        if (context->stream_count == 0 || plane_count == 0) {
                support = DCN_ZSTATE_SUPPORT_ALLOW_Z8_ONLY;
                        dc->debug.minimum_z8_residency_time > 0 ? dc->debug.minimum_z8_residency_time : 1000;
                bool allow_z8 = context->bw_ctx.dml.vba.StutterPeriod > (double)minmum_z8_residency;
 
-
                /*for psr1/psr-su, we allow z8 and z10 based on latency, for replay with IPS enabled, it will enter ips2*/
-                if (is_pwrseq0 && (is_psr || is_replay))
+               if (is_pwrseq0 && (is_psr || is_replay))
                        support = allow_z8 ? allow_z8 : DCN_ZSTATE_SUPPORT_DISALLOW;
-
        }
        context->bw_ctx.bw.dcn.clk.zstate_support = support;
 }
 
        .prepare_bandwidth = dcn35_prepare_bandwidth,
        .optimize_bandwidth = dcn35_optimize_bandwidth,
        .update_bandwidth = dcn20_update_bandwidth,
-       .set_drr = dcn10_set_drr,
+       .set_drr = dcn35_set_drr,
        .get_position = dcn10_get_position,
        .set_static_screen_control = dcn35_set_static_screen_control,
        .setup_stereo = dcn10_setup_stereo,
 
        .disable_dcc = DCC_ENABLE,
        .disable_dpp_power_gate = true,
        .disable_hubp_power_gate = true,
+       .disable_optc_power_gate = true, /*should the same as above two*/
+       .disable_hpo_power_gate = true, /*dmubfw force domain25 on*/
        .disable_clock_gate = false,
        .disable_dsc_power_gate = true,
        .vsr_support = true,
        },
        .seamless_boot_odm_combine = DML_FAIL_SOURCE_PIXEL_FORMAT,
        .enable_z9_disable_interface = true, /* Allow support for the PMFW interface for disable Z9*/
+       .minimum_z8_residency_time = 2100,
        .using_dml2 = true,
        .support_eDP1_5 = true,
        .enable_hpo_pg_support = false,
        .enable_legacy_fast_update = true,
        .enable_single_display_2to1_odm_policy = true,
-       .disable_idle_power_optimizations = true,
+       .disable_idle_power_optimizations = false,
        .dmcub_emulation = false,
        .disable_boot_optimizations = false,
        .disable_unbounded_requesting = false,
        .disable_z10 = true,
        .ignore_pg = true,
        .psp_disabled_wa = true,
-       .ips2_eval_delay_us = 200,
-       .ips2_entry_delay_us = 400
+       .ips2_eval_delay_us = 2000,
+       .ips2_entry_delay_us = 800,
+       .disable_dmub_reallow_idle = true,
+       .static_screen_wait_frames = 2,
 };
 
 static const struct dc_panel_config panel_config_defaults = {