]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/msm/dpu: finalise global state object
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 3 Dec 2023 00:05:29 +0000 (03:05 +0300)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:17:08 +0000 (18:17 -0400)
[ Upstream commit 49e27d3c9cd67fd5851f8b5518645b9bf3d2c6c0 ]

Add calls to finalise global state object and corresponding lock.

Fixes: de3916c70a24 ("drm/msm/dpu: Track resources in global state")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/570175/
Link: https://lore.kernel.org/r/20231203000532.1290480-3-dmitry.baryshkov@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c

index 723cc1d821431046cde8a1bf38ee553643600d10..2330eb2a4e9c8fb2afcc4f81c58e9892f97b00ee 100644 (file)
@@ -374,6 +374,12 @@ static int dpu_kms_global_obj_init(struct dpu_kms *dpu_kms)
        return 0;
 }
 
+static void dpu_kms_global_obj_fini(struct dpu_kms *dpu_kms)
+{
+       drm_atomic_private_obj_fini(&dpu_kms->global_state);
+       drm_modeset_lock_fini(&dpu_kms->global_state_lock);
+}
+
 static int dpu_kms_parse_data_bus_icc_path(struct dpu_kms *dpu_kms)
 {
        struct icc_path *path0;
@@ -801,6 +807,8 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
                dpu_kms->hw_vbif[i] = NULL;
        }
 
+       dpu_kms_global_obj_fini(dpu_kms);
+
        dpu_kms->catalog = NULL;
 
        dpu_kms->hw_mdp = NULL;