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
This commit is contained in:
Jani Nikula 2023-10-02 11:47:03 +03:00
parent 5ed8c7bcf9
commit 39fa9a7d5f
2 changed files with 11 additions and 5 deletions

View File

@ -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;

View File

@ -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 */