mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
drm/i915/uc: Move uC early functions inside the GT ones
uC is a subcomponent of GT, so initialize/clean it as part of it. The wopcm_init_early doesn't have to be happen before the uC one, but since in other parts of the code we consider WOPCM first do the same for consistency. v2: s/cleanup_early/late_release to match the caller v3: s/late_release/driver_late_release/ (Chris) Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> #v1 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20190801005709.34092-2-daniele.ceraolospurio@intel.com
This commit is contained in:
parent
6cf72db68d
commit
6f76098fe0
@ -22,6 +22,7 @@ void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
|
||||
intel_gt_init_hangcheck(gt);
|
||||
intel_gt_init_reset(gt);
|
||||
intel_gt_pm_init_early(gt);
|
||||
intel_uc_init_early(>->uc);
|
||||
}
|
||||
|
||||
void intel_gt_init_hw(struct drm_i915_private *i915)
|
||||
@ -262,5 +263,6 @@ void intel_gt_fini_scratch(struct intel_gt *gt)
|
||||
|
||||
void intel_gt_driver_late_release(struct intel_gt *gt)
|
||||
{
|
||||
intel_uc_driver_late_release(>->uc);
|
||||
intel_gt_fini_reset(gt);
|
||||
}
|
||||
|
@ -137,7 +137,7 @@ void intel_uc_init_early(struct intel_uc *uc)
|
||||
sanitize_options_early(uc);
|
||||
}
|
||||
|
||||
void intel_uc_cleanup_early(struct intel_uc *uc)
|
||||
void intel_uc_driver_late_release(struct intel_uc *uc)
|
||||
{
|
||||
guc_free_load_err_log(&uc->guc);
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ struct intel_uc {
|
||||
};
|
||||
|
||||
void intel_uc_init_early(struct intel_uc *uc);
|
||||
void intel_uc_cleanup_early(struct intel_uc *uc);
|
||||
void intel_uc_driver_late_release(struct intel_uc *uc);
|
||||
void intel_uc_init_mmio(struct intel_uc *uc);
|
||||
void intel_uc_fetch_firmwares(struct intel_uc *uc);
|
||||
void intel_uc_cleanup_firmwares(struct intel_uc *uc);
|
||||
|
@ -921,6 +921,8 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
intel_wopcm_init_early(&dev_priv->wopcm);
|
||||
|
||||
intel_gt_init_early(&dev_priv->gt, dev_priv);
|
||||
|
||||
ret = i915_gem_init_early(dev_priv);
|
||||
@ -930,13 +932,11 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
|
||||
/* This must be called before any calls to HAS_PCH_* */
|
||||
intel_detect_pch(dev_priv);
|
||||
|
||||
intel_wopcm_init_early(&dev_priv->wopcm);
|
||||
intel_uc_init_early(&dev_priv->gt.uc);
|
||||
intel_pm_setup(dev_priv);
|
||||
intel_init_dpio(dev_priv);
|
||||
ret = intel_power_domains_init(dev_priv);
|
||||
if (ret < 0)
|
||||
goto err_uc;
|
||||
goto err_gem;
|
||||
intel_irq_init(dev_priv);
|
||||
intel_init_display_hooks(dev_priv);
|
||||
intel_init_clock_gating_hooks(dev_priv);
|
||||
@ -947,8 +947,7 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
|
||||
|
||||
return 0;
|
||||
|
||||
err_uc:
|
||||
intel_uc_cleanup_early(&dev_priv->gt.uc);
|
||||
err_gem:
|
||||
i915_gem_cleanup_early(dev_priv);
|
||||
err_workqueues:
|
||||
intel_gt_driver_late_release(&dev_priv->gt);
|
||||
@ -965,7 +964,6 @@ static void i915_driver_late_release(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
intel_irq_fini(dev_priv);
|
||||
intel_power_domains_cleanup(dev_priv);
|
||||
intel_uc_cleanup_early(&dev_priv->gt.uc);
|
||||
i915_gem_cleanup_early(dev_priv);
|
||||
intel_gt_driver_late_release(&dev_priv->gt);
|
||||
i915_workqueues_cleanup(dev_priv);
|
||||
|
Loading…
Reference in New Issue
Block a user