diff options
author | Jani Nikula <jani.nikula@intel.com> | 2023-10-02 11:47:03 +0300 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2023-10-04 18:27:46 +0300 |
commit | 39fa9a7d5fb7d8316b9c7c56a1f8e473008244e8 (patch) | |
tree | 02382eba1f70e6a77335c9e612c6e169ec5acef4 | |
parent | 5ed8c7bcf9a58372d3be3d9cd167e45497efaae2 (diff) |
drm/i915: allocate i915->gt0 dynamically
Convert i915->gt0 to a pointer, and allocate it dynamically.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Acked-by: MichaĆ Winiarski <michal.winiarski@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/01bf968aa431b77d491790178cbeece18b5fc4c0.1696236329.git.jani.nikula@intel.com
-rw-r--r-- | drivers/gpu/drm/i915/gt/intel_gt.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 8 |
2 files changed, 11 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c index 93062c35e072..a3d68ff4b191 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt.c +++ b/drivers/gpu/drm/i915/gt/intel_gt.c @@ -62,7 +62,13 @@ void intel_gt_common_init_early(struct intel_gt *gt) /* Preliminary initialization of Tile 0 */ int intel_root_gt_init_early(struct drm_i915_private *i915) { - struct intel_gt *gt = to_gt(i915); + struct intel_gt *gt; + + gt = drmm_kzalloc(&i915->drm, sizeof(*gt), GFP_KERNEL); + if (!gt) + return -ENOMEM; + + i915->gt0 = gt; gt->i915 = i915; gt->uncore = &i915->uncore; diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index da2217c16153..70240f71d886 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -318,10 +318,10 @@ struct drm_i915_private { struct i915_hwmon *hwmon; /* Abstract the submission mechanism (legacy ringbuffer or execlists) away */ - struct intel_gt gt0; + struct intel_gt *gt0; /* - * i915->gt[0] == &i915->gt0 + * i915->gt[0] == i915->gt0 */ struct intel_gt *gt[I915_MAX_GT]; @@ -382,9 +382,9 @@ static inline struct drm_i915_private *pdev_to_i915(struct pci_dev *pdev) return pci_get_drvdata(pdev); } -static inline struct intel_gt *to_gt(struct drm_i915_private *i915) +static inline struct intel_gt *to_gt(const struct drm_i915_private *i915) { - return &i915->gt0; + return i915->gt0; } /* Simple iterator over all initialised engines */ |