Since HW reservations are happening through atomic_check
and all the display commits are catered by a single commit thread,
it is not necessary to protect the interfaces by a separate
mutex.

Signed-off-by: Jeykumar Sankaran <jsa...@codeaurora.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 24 ------------------------
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h |  2 --
 2 files changed, 26 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
index 34e09aa..9a63128 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
@@ -74,8 +74,6 @@ int dpu_rm_destroy(struct dpu_rm *rm)
                }
        }
 
-       mutex_destroy(&rm->rm_lock);
-
        return 0;
 }
 
@@ -146,8 +144,6 @@ int dpu_rm_init(struct dpu_rm *rm,
        /* Clear, setup lists */
        memset(rm, 0, sizeof(*rm));
 
-       mutex_init(&rm->rm_lock);
-
        for (type = 0; type < DPU_HW_BLK_MAX; type++)
                INIT_LIST_HEAD(&rm->hw_blks[type]);
 
@@ -473,11 +469,7 @@ void dpu_rm_crtc_release(struct dpu_rm *rm, struct 
drm_crtc_state *crtc_state)
 {
        struct dpu_crtc_state *dpu_cstate = to_dpu_crtc_state(crtc_state);
 
-       mutex_lock(&rm->rm_lock);
-
        _dpu_rm_crtc_release_reservation(rm, dpu_cstate);
-
-       mutex_unlock(&rm->rm_lock);
 }
 
 void dpu_rm_encoder_release(struct dpu_rm *rm,
@@ -485,11 +477,7 @@ void dpu_rm_encoder_release(struct dpu_rm *rm,
 {
        struct dpu_crtc_state *dpu_cstate = to_dpu_crtc_state(crtc_state);
 
-       mutex_lock(&rm->rm_lock);
-
        _dpu_rm_encoder_release_reservation(rm, dpu_cstate);
-
-       mutex_unlock(&rm->rm_lock);
 }
 
 int dpu_rm_crtc_reserve(
@@ -506,8 +494,6 @@ int dpu_rm_crtc_reserve(
 
        DRM_DEBUG_KMS("reserving hw for crtc %d\n", crtc_state->crtc->base.id);
 
-       mutex_lock(&rm->rm_lock);
-
        ret = _dpu_rm_reserve_lms(rm, dpu_cstate);
        if (ret) {
                DPU_ERROR("unable to find appropriate mixers\n");
@@ -520,15 +506,11 @@ int dpu_rm_crtc_reserve(
                goto cleanup_on_fail;
        }
 
-       mutex_unlock(&rm->rm_lock);
-
        return ret;
 
 cleanup_on_fail:
        _dpu_rm_crtc_release_reservation(rm, dpu_cstate);
 
-       mutex_unlock(&rm->rm_lock);
-
        return ret;
 }
 
@@ -547,8 +529,6 @@ int dpu_rm_encoder_reserve(
 
        DRM_DEBUG_KMS("reserving hw for enc %d\n", enc->base.id);
 
-       mutex_lock(&rm->rm_lock);
-
        dpu_encoder_get_hw_resources(enc, &hw_res);
 
        ret = _dpu_rm_reserve_intfs(rm, dpu_cstate, &hw_res);
@@ -557,14 +537,10 @@ int dpu_rm_encoder_reserve(
                goto cleanup_on_fail;
        }
 
-       mutex_unlock(&rm->rm_lock);
-
        return ret;
 
 cleanup_on_fail:
        _dpu_rm_encoder_release_reservation(rm, dpu_cstate);
 
-       mutex_unlock(&rm->rm_lock);
-
        return ret;
 }
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h
index 8676fa5..9acbeba 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h
@@ -24,11 +24,9 @@
  * struct dpu_rm - DPU dynamic hardware resource manager
  * @hw_blks: array of lists of hardware resources present in the system, one
  *     list per type of hardware block
- * @rm_lock: resource manager mutex
  */
 struct dpu_rm {
        struct list_head hw_blks[DPU_HW_BLK_MAX];
-       struct mutex rm_lock;
 };
 
 /**
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to