]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/xe/uc: Use devm to register cleanup that includes exec_queues
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Thu, 15 Aug 2024 23:05:40 +0000 (16:05 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 16 Aug 2024 16:15:04 +0000 (09:15 -0700)
Exec_queue cleanup requires HW access, so we need to use devm instead of
drmm for it.

Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240815230541.3828206-2-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_gsc.c
drivers/gpu/drm/xe/xe_guc_submit.c

index 8a9b3c50a588e2d1c9c9939c2109dc98e43a0e0c..8a137cb833186d049793a44dac670221a4e3a856 100644 (file)
@@ -437,7 +437,7 @@ out:
        return ret;
 }
 
-static void free_resources(struct drm_device *drm, void *arg)
+static void free_resources(void *arg)
 {
        struct xe_gsc *gsc = arg;
 
@@ -495,7 +495,7 @@ int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc)
        gsc->q = q;
        gsc->wq = wq;
 
-       err = drmm_add_action_or_reset(&xe->drm, free_resources, gsc);
+       err = devm_add_action_or_reset(xe->drm.dev, free_resources, gsc);
        if (err)
                return err;
 
index da63be550d4d99304734f2b0ae2b6838940273d5..be5b9d8cfa5fa51b6d0e64db004b8a78ca20fc8f 100644 (file)
@@ -284,7 +284,7 @@ static void guc_submit_fini(struct drm_device *drm, void *arg)
        free_submit_wq(guc);
 }
 
-static void guc_submit_wedged_fini(struct drm_device *drm, void *arg)
+static void guc_submit_wedged_fini(void *arg)
 {
        struct xe_guc *guc = arg;
        struct xe_exec_queue *q;
@@ -877,7 +877,7 @@ void xe_guc_submit_wedge(struct xe_guc *guc)
 
        xe_gt_assert(guc_to_gt(guc), guc_to_xe(guc)->wedged.mode);
 
-       err = drmm_add_action_or_reset(&guc_to_xe(guc)->drm,
+       err = devm_add_action_or_reset(guc_to_xe(guc)->drm.dev,
                                       guc_submit_wedged_fini, guc);
        if (err) {
                drm_err(&xe->drm, "Failed to register xe_guc_submit clean-up on wedged.mode=2. Although device is wedged.\n");