drm/msm/dpu: finalise global state object
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 3 Dec 2023 00:05:29 +0000 (03:05 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 19 Feb 2024 12:10:24 +0000 (14:10 +0200)
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
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c

index 363b6410700f2879656298834bbe6be4bd70ff3e..bb90e5fc2e87c4015efa78e8eae6361a421627f4 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;
@@ -804,6 +810,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;