]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe: Ensure mutex are destroyed
authorBommithi Sakeena <bommithi.sakeena@intel.com>
Wed, 27 Sep 2023 16:50:11 +0000 (16:50 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:41:21 +0000 (11:41 -0500)
Add missing mutex_destroy calls to fini functions or convert to
drmm_mutex_init where fini function is not available.

Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Bommithi Sakeena <bommithi.sakeena@intel.com>
Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_guc_ct.c
drivers/gpu/drm/xe/xe_guc_pc.c
drivers/gpu/drm/xe/xe_guc_submit.c
drivers/gpu/drm/xe/xe_pcode.c

index 2046bd269bbddd9369bbb8da9108792835469ed1..8b686c8b33390f080e3edd45f6635ddf2cd512f7 100644 (file)
@@ -137,7 +137,7 @@ int xe_guc_ct_init(struct xe_guc_ct *ct)
 
        xe_assert(xe, !(guc_ct_size() % PAGE_SIZE));
 
-       mutex_init(&ct->lock);
+       drmm_mutex_init(&xe->drm, &ct->lock);
        spin_lock_init(&ct->fast_lock);
        xa_init(&ct->fence_lookup);
        INIT_WORK(&ct->g2h_worker, g2h_worker_func);
index 8a4d299d6cb0229bc7e07120063802114927eb8c..d9375d1d582ff9b46d596f68c1d74288957f0b92 100644 (file)
@@ -890,6 +890,7 @@ void xe_guc_pc_fini(struct xe_guc_pc *pc)
        XE_WARN_ON(xe_guc_pc_stop(pc));
        sysfs_remove_files(pc_to_gt(pc)->sysfs, pc_attrs);
        xe_bo_unpin_map_no_vm(pc->bo);
+       mutex_destroy(&pc->freq_lock);
 }
 
 /**
index 3e136b60196ef3206c8744b057e84379fb787a07..d0e60349fc5a174a9b3fecac048153b05df069e1 100644 (file)
@@ -195,6 +195,7 @@ static void guc_submit_fini(struct drm_device *drm, void *arg)
        xa_destroy(&guc->submission_state.exec_queue_lookup);
        ida_destroy(&guc->submission_state.guc_ids);
        bitmap_free(guc->submission_state.guc_ids_bitmap);
+       mutex_destroy(&guc->submission_state.lock);
 }
 
 #define GUC_ID_MAX             65535
index 7f1bf2297f51ee1f9dd5a88ce4a4c0a96501e22e..4a240acf76252f1b4be9cb41fb43b9beadc27413 100644 (file)
@@ -8,6 +8,8 @@
 #include <linux/delay.h>
 #include <linux/errno.h>
 
+#include <drm/drm_managed.h>
+
 #include "xe_gt.h"
 #include "xe_mmio.h"
 #include "xe_pcode_api.h"
@@ -276,7 +278,7 @@ int xe_pcode_init(struct xe_gt *gt)
  */
 int xe_pcode_probe(struct xe_gt *gt)
 {
-       mutex_init(&gt->pcode.lock);
+       drmm_mutex_init(&gt_to_xe(gt)->drm, &gt->pcode.lock);
 
        if (!IS_DGFX(gt_to_xe(gt)))
                return 0;