]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/msm/mdp5: drop global_state_lock
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 3 Dec 2023 00:05:32 +0000 (03:05 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 19 Feb 2024 12:10:25 +0000 (14:10 +0200)
Since the commit b962a12050a3 ("drm/atomic: integrate modeset lock with
private objects") the DRM framework no longer requires the external
lock for private objects. Drop the lock, letting the DRM to manage
private object locking.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/570183/
Link: https://lore.kernel.org/r/20231203000532.1290480-6-dmitry.baryshkov@linaro.org
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h

index d0aff128b1ed58948f8598cec6427b43ffc1a635..a874fd95cc20479ed34b31b1b6903d74a897cefd 100644 (file)
@@ -84,11 +84,6 @@ struct mdp5_global_state *mdp5_get_global_state(struct drm_atomic_state *s)
        struct msm_drm_private *priv = s->dev->dev_private;
        struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms));
        struct drm_private_state *priv_state;
-       int ret;
-
-       ret = drm_modeset_lock(&mdp5_kms->glob_state_lock, s->acquire_ctx);
-       if (ret)
-               return ERR_PTR(ret);
 
        priv_state = drm_atomic_get_private_obj_state(s, &mdp5_kms->glob_state);
        if (IS_ERR(priv_state))
@@ -138,8 +133,6 @@ static int mdp5_global_obj_init(struct mdp5_kms *mdp5_kms)
 {
        struct mdp5_global_state *state;
 
-       drm_modeset_lock_init(&mdp5_kms->glob_state_lock);
-
        state = kzalloc(sizeof(*state), GFP_KERNEL);
        if (!state)
                return -ENOMEM;
@@ -580,7 +573,6 @@ static void mdp5_destroy(struct mdp5_kms *mdp5_kms)
                pm_runtime_disable(&mdp5_kms->pdev->dev);
 
        drm_atomic_private_obj_fini(&mdp5_kms->glob_state);
-       drm_modeset_lock_fini(&mdp5_kms->glob_state_lock);
 }
 
 static int construct_pipes(struct mdp5_kms *mdp5_kms, int cnt,
index ee68e9913f8cfe392ba9bf7efca4e824488757e0..fac9f05aa63907128c57e928ab396e31019353a9 100644 (file)
@@ -40,7 +40,6 @@ struct mdp5_kms {
         * Global private object state, Do not access directly, use
         * mdp5_global_get_state()
         */
-       struct drm_modeset_lock glob_state_lock;
        struct drm_private_obj glob_state;
 
        struct mdp5_smp *smp;