[Intel-gfx] [PATCH] drm/i915: Remove obsolete engine clenaup
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Wed Jul 17 13:18:56 UTC 2019
On 17/07/2019 08:46, Chris Wilson wrote:
> Remove the outer layer cleanup of engine stubs; it no longer tries to
Who is "it"?
> preallocate and so is not responsible for either the allocation or free.
> By the time we call the cleanup function, we already have cleaned up the
> engines.
I see:
i915_driver_probe
{
...
ret = i915_driver_early_probe(dev_priv);
...
i915_driver_mmio_probe -> intel_engines_init_mmio -> allocates engines
...
<later step fails> -> who frees the engines?
}
Regards,
Tvrtko
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 7c209743e478..e1d62ba30612 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -848,15 +848,6 @@ static int i915_workqueues_init(struct drm_i915_private *dev_priv)
> return -ENOMEM;
> }
>
> -static void i915_engines_cleanup(struct drm_i915_private *i915)
> -{
> - struct intel_engine_cs *engine;
> - enum intel_engine_id id;
> -
> - for_each_engine(engine, i915, id)
> - kfree(engine);
> -}
> -
> static void i915_workqueues_cleanup(struct drm_i915_private *dev_priv)
> {
> destroy_workqueue(dev_priv->hotplug.dp_wq);
> @@ -928,7 +919,7 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
>
> ret = i915_workqueues_init(dev_priv);
> if (ret < 0)
> - goto err_engines;
> + return ret;
>
> intel_gt_init_early(&dev_priv->gt, dev_priv);
>
> @@ -961,8 +952,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
> i915_gem_cleanup_early(dev_priv);
> err_workqueues:
> i915_workqueues_cleanup(dev_priv);
> -err_engines:
> - i915_engines_cleanup(dev_priv);
> return ret;
> }
>
> @@ -978,7 +967,6 @@ static void i915_driver_late_release(struct drm_i915_private *dev_priv)
> intel_uc_cleanup_early(&dev_priv->gt.uc);
> i915_gem_cleanup_early(dev_priv);
> i915_workqueues_cleanup(dev_priv);
> - i915_engines_cleanup(dev_priv);
>
> pm_qos_remove_request(&dev_priv->sb_qos);
> mutex_destroy(&dev_priv->sb_lock);
>
More information about the Intel-gfx
mailing list