OSDN Git Service

drm/i915: Use managed allocations for extra uncore objects
authorMatt Roper <matthew.d.roper@intel.com>
Tue, 6 Sep 2022 23:49:23 +0000 (16:49 -0700)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 12 Sep 2022 12:23:11 +0000 (15:23 +0300)
We're slowly transitioning the init-time kzalloc's of the driver over to
DRM-managed allocations; let's make sure the uncore objects allocated
for non-root GTs are thus allocated.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220906234934.3655440-4-matthew.d.roper@intel.com
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/gt/intel_gt.c

index 19e850e..d9ca882 100644 (file)
@@ -782,7 +782,7 @@ static int intel_gt_tile_setup(struct intel_gt *gt, phys_addr_t phys_addr)
        if (!gt_is_root(gt)) {
                struct intel_uncore *uncore;
 
-               uncore = kzalloc(sizeof(*uncore), GFP_KERNEL);
+               uncore = drmm_kzalloc(&gt->i915->drm, sizeof(*uncore), GFP_KERNEL);
                if (!uncore)
                        return -ENOMEM;
 
@@ -807,10 +807,8 @@ intel_gt_tile_cleanup(struct intel_gt *gt)
 {
        intel_uncore_cleanup_mmio(gt->uncore);
 
-       if (!gt_is_root(gt)) {
-               kfree(gt->uncore);
+       if (!gt_is_root(gt))
                kfree(gt);
-       }
 }
 
 int intel_gt_probe_all(struct drm_i915_private *i915)