if (!mtk_crtc->ddp_comp)
                return -ENOMEM;
 
-       mtk_crtc->mutex = mtk_mutex_get(priv->mutex_dev, pipe);
+       mtk_crtc->mutex = mtk_mutex_get(priv->mutex_dev);
        if (IS_ERR(mtk_crtc->mutex)) {
                ret = PTR_ERR(mtk_crtc->mutex);
                dev_err(dev, "Failed to get mutex: %d\n", ret);
 
        .mutex_sof_reg = MT2701_MUTEX0_SOF0,
 };
 
-struct mtk_mutex *mtk_mutex_get(struct device *dev, unsigned int id)
+struct mtk_mutex *mtk_mutex_get(struct device *dev)
 {
        struct mtk_mutex_ctx *mtx = dev_get_drvdata(dev);
+       int i;
 
-       if (id >= 10)
-               return ERR_PTR(-EINVAL);
-       if (mtx->mutex[id].claimed)
-               return ERR_PTR(-EBUSY);
-
-       mtx->mutex[id].claimed = true;
+       for (i = 0; i < 10; i++)
+               if (!mtx->mutex[i].claimed) {
+                       mtx->mutex[i].claimed = true;
+                       return &mtx->mutex[i];
+               }
 
-       return &mtx->mutex[id];
+       return ERR_PTR(-EBUSY);
 }
 
 void mtk_mutex_put(struct mtk_mutex *mutex)
 
 struct device;
 struct mtk_mutex;
 
-struct mtk_mutex *mtk_mutex_get(struct device *dev, unsigned int id);
+struct mtk_mutex *mtk_mutex_get(struct device *dev);
 int mtk_mutex_prepare(struct mtk_mutex *mutex);
 void mtk_mutex_add_comp(struct mtk_mutex *mutex,
                        enum mtk_ddp_comp_id id);