skl->resource.mem += mconfig->pipe->memory_pages;
 }
 
-/*
- * Pipeline needs needs DSP CPU resources for computation, this is
- * quantified in MCPS (Million Clocks Per Second) required for module/pipe
- *
- * Each pipelines needs mcps to be allocated. Check if we have mcps for this
- * pipe.
- */
-
-static bool skl_is_pipe_mcps_avail(struct skl_dev *skl,
-                               struct skl_module_cfg *mconfig)
-{
-       u8 res_idx = mconfig->res_idx;
-       struct skl_module_res *res = &mconfig->module->resources[res_idx];
-
-       if (skl->resource.mcps + res->cps > skl->resource.max_mcps) {
-               dev_err(skl->dev,
-                       "%s: module_id %d instance %d\n", __func__,
-                       mconfig->id.module_id, mconfig->id.instance_id);
-               dev_err(skl->dev,
-                       "exceeds ppl mcps available %d > mem %d\n",
-                       skl->resource.max_mcps, skl->resource.mcps);
-               return false;
-       } else {
-               return true;
-       }
-}
-
-static void skl_tplg_alloc_pipe_mcps(struct skl_dev *skl,
-                               struct skl_module_cfg *mconfig)
-{
-       u8 res_idx = mconfig->res_idx;
-       struct skl_module_res *res = &mconfig->module->resources[res_idx];
-
-       skl->resource.mcps += res->cps;
-}
-
-/*
- * Free the mcps when tearing down
- */
-static void
-skl_tplg_free_pipe_mcps(struct skl_dev *skl, struct skl_module_cfg *mconfig)
-{
-       u8 res_idx = mconfig->res_idx;
-       struct skl_module_res *res = &mconfig->module->resources[res_idx];
-
-       skl->resource.mcps -= res->cps;
-}
-
 /*
  * Free the memory when tearing down
  */
                mconfig->fmt_idx = mconfig->mod_cfg[cfg_idx].fmt_idx;
                mconfig->res_idx = mconfig->mod_cfg[cfg_idx].res_idx;
 
-               /* check resource available */
-               if (!skl_is_pipe_mcps_avail(skl, mconfig))
-                       return -ENOMEM;
-
                if (mconfig->module->loadable && skl->dsp->fw_ops.load_mod) {
                        ret = skl->dsp->fw_ops.load_mod(skl->dsp,
                                mconfig->id.module_id, mconfig->guid);
                        skl_put_pvt_id(skl, uuid_mod, &mconfig->id.pvt_id);
                        goto err;
                }
-               skl_tplg_alloc_pipe_mcps(skl, mconfig);
+
                ret = skl_tplg_set_module_params(w, skl);
                if (ret < 0)
                        goto err;
        if (ret < 0)
                return ret;
 
-       /* check resource available */
-       if (!skl_is_pipe_mcps_avail(skl, mconfig))
-               return -EBUSY;
-
        if (!skl_is_pipe_mem_avail(skl, mconfig))
                return -ENOMEM;
 
                return ret;
 
        skl_tplg_alloc_pipe_mem(skl, mconfig);
-       skl_tplg_alloc_pipe_mcps(skl, mconfig);
 
        /* Init all pipe modules from source to sink */
        ret = skl_tplg_init_pipe_modules(skl, s_pipe);
 
 /*
  * in the Post-PMD event of mixer we need to do following:
- *   - Free the mcps used
  *   - Free the mem used
  *   - Unbind the modules within the pipeline
  *   - Delete the pipeline (modules are not required to be explicitly
        if (s_pipe->state == SKL_PIPE_INVALID)
                return -EINVAL;
 
-       skl_tplg_free_pipe_mcps(skl, mconfig);
        skl_tplg_free_pipe_mem(skl, mconfig);
 
        list_for_each_entry(w_module, &s_pipe->w_list, node) {
        list_for_each_entry(w_module, &s_pipe->w_list, node) {
                dst_module = w_module->w->priv;
 
-               if (mconfig->m_state >= SKL_MODULE_INIT_DONE)
-                       skl_tplg_free_pipe_mcps(skl, dst_module);
                if (src_module == NULL) {
                        src_module = dst_module;
                        continue;
 
 /*
  * in the Post-PMD event of PGA we need to do following:
- *   - Free the mcps used
  *   - Stop the pipeline
  *   - In source pipe is connected, unbind with source pipelines
  */
                return;
 
        skl->resource.mem = 0;
-       skl->resource.mcps = 0;
 
        list_for_each_entry(w, &card->widgets, list) {
                if (is_skl_dsp_widget_type(w, skl->dev) && w->priv != NULL)
 }
 
 /* This will be read from topology manifest, currently defined here */
-#define SKL_MAX_MCPS 30000000
 #define SKL_FW_MAX_MEM 1000000
 
 /*
                return -EINVAL;
        }
 
-       skl->resource.max_mcps = SKL_MAX_MCPS;
        skl->resource.max_mem = SKL_FW_MAX_MEM;
 
        skl->tplg = fw;