if (new_clocks->dtbclk_en && !new_clocks->ref_dtbclk_khz)
                new_clocks->ref_dtbclk_khz = 600000;
 
-       if (dc->debug.min_disp_clk_khz > 0 && new_clocks->dispclk_khz < dc->debug.min_disp_clk_khz)
-               new_clocks->dispclk_khz = dc->debug.min_disp_clk_khz;
-
        /*
         * if it is safe to lower, but we are already in the lower state, we don't have to do anything
         * also if safe to lower is false, we just go in the higher state
        if (should_set_clock(safe_to_lower, new_clocks->dispclk_khz, clk_mgr_base->clks.dispclk_khz)) {
                dcn35_disable_otg_wa(clk_mgr_base, context, safe_to_lower, true);
 
+               if (dc->debug.min_disp_clk_khz > 0 && new_clocks->dispclk_khz < dc->debug.min_disp_clk_khz)
+                       new_clocks->dispclk_khz = dc->debug.min_disp_clk_khz;
+
                clk_mgr_base->clks.dispclk_khz = new_clocks->dispclk_khz;
                dcn35_smu_set_dispclk(clk_mgr, clk_mgr_base->clks.dispclk_khz);
                dcn35_disable_otg_wa(clk_mgr_base, context, safe_to_lower, false);