struct dc  *core_dc = link->ctx->dc;
        struct dmcu *dmcu = core_dc->res_pool->dmcu;
 
-       if (dmcu != NULL && link->psr_enabled)
+       if ((dmcu != NULL && dmcu->funcs->is_dmcu_initialized(dmcu)) && link->psr_enabled)
                dmcu->funcs->set_psr_enable(dmcu, enable, wait);
 
        return true;
 
        if (requested_clk_khz == 0)
                clk_mgr_dce->cur_min_clks_state = DM_PP_CLOCKS_STATE_NOMINAL;
 
-       dmcu->funcs->set_psr_wait_loop(dmcu, actual_clock / 1000 / 7);
+       if (dmcu && dmcu->funcs->is_dmcu_initialized(dmcu))
+               dmcu->funcs->set_psr_wait_loop(dmcu, actual_clock / 1000 / 7);
 
        return actual_clock;
 }
        bp->funcs->set_dce_clock(bp, &dce_clk_params);
 
        if (!IS_FPGA_MAXIMUS_DC(core_dc->ctx->dce_environment)) {
-               if (clk_mgr_dce->dfs_bypass_disp_clk != actual_clock)
-                       dmcu->funcs->set_psr_wait_loop(dmcu,
-                                       actual_clock / 1000 / 7);
+               if (dmcu && dmcu->funcs->is_dmcu_initialized(dmcu)) {
+                       if (clk_mgr_dce->dfs_bypass_disp_clk != actual_clock)
+                               dmcu->funcs->set_psr_wait_loop(dmcu,
+                                               actual_clock / 1000 / 7);
+               }
        }
 
        clk_mgr_dce->dfs_bypass_disp_clk = actual_clock;