mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 21:57:43 +00:00
drm/i915: Drop struct_mutex from around GEM initialisation
We no longer need to placate lockdep by holding struct_mutex for our initialisation, so don't. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191004134015.13204-21-chris@chris-wilson.co.uk
This commit is contained in:
parent
2af402982a
commit
7842793330
3 changed files with 0 additions and 18 deletions
|
@ -174,7 +174,6 @@ void i915_gem_resume(struct drm_i915_private *i915)
|
|||
{
|
||||
GEM_TRACE("\n");
|
||||
|
||||
mutex_lock(&i915->drm.struct_mutex);
|
||||
intel_uncore_forcewake_get(&i915->uncore, FORCEWAKE_ALL);
|
||||
|
||||
if (intel_gt_init_hw(&i915->gt))
|
||||
|
@ -198,7 +197,6 @@ void i915_gem_resume(struct drm_i915_private *i915)
|
|||
|
||||
out_unlock:
|
||||
intel_uncore_forcewake_put(&i915->uncore, FORCEWAKE_ALL);
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
return;
|
||||
|
||||
err_wedged:
|
||||
|
|
|
@ -1249,7 +1249,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
|
|||
* we hold the forcewake during initialisation these problems
|
||||
* just magically go away.
|
||||
*/
|
||||
mutex_lock(&dev_priv->drm.struct_mutex);
|
||||
intel_uncore_forcewake_get(&dev_priv->uncore, FORCEWAKE_ALL);
|
||||
|
||||
ret = i915_init_ggtt(dev_priv);
|
||||
|
@ -1319,7 +1318,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
|
|||
goto err_gt;
|
||||
|
||||
intel_uncore_forcewake_put(&dev_priv->uncore, FORCEWAKE_ALL);
|
||||
mutex_unlock(&dev_priv->drm.struct_mutex);
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -1330,15 +1328,11 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
|
|||
* driver doesn't explode during runtime.
|
||||
*/
|
||||
err_gt:
|
||||
mutex_unlock(&dev_priv->drm.struct_mutex);
|
||||
|
||||
intel_gt_set_wedged_on_init(&dev_priv->gt);
|
||||
i915_gem_suspend(dev_priv);
|
||||
i915_gem_suspend_late(dev_priv);
|
||||
|
||||
i915_gem_drain_workqueue(dev_priv);
|
||||
|
||||
mutex_lock(&dev_priv->drm.struct_mutex);
|
||||
err_init_hw:
|
||||
intel_uc_fini_hw(&dev_priv->gt.uc);
|
||||
err_uc_init:
|
||||
|
@ -1353,7 +1347,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
|
|||
intel_gt_driver_release(&dev_priv->gt);
|
||||
err_unlock:
|
||||
intel_uncore_forcewake_put(&dev_priv->uncore, FORCEWAKE_ALL);
|
||||
mutex_unlock(&dev_priv->drm.struct_mutex);
|
||||
|
||||
if (ret != -EIO) {
|
||||
intel_uc_cleanup_firmwares(&dev_priv->gt.uc);
|
||||
|
@ -1406,10 +1399,8 @@ void i915_gem_driver_remove(struct drm_i915_private *dev_priv)
|
|||
/* Flush any outstanding unpin_work. */
|
||||
i915_gem_drain_workqueue(dev_priv);
|
||||
|
||||
mutex_lock(&dev_priv->drm.struct_mutex);
|
||||
intel_uc_fini_hw(&dev_priv->gt.uc);
|
||||
intel_uc_fini(&dev_priv->gt.uc);
|
||||
mutex_unlock(&dev_priv->drm.struct_mutex);
|
||||
|
||||
i915_gem_drain_freed_objects(dev_priv);
|
||||
}
|
||||
|
|
|
@ -68,10 +68,7 @@ static void mock_device_release(struct drm_device *dev)
|
|||
drain_workqueue(i915->wq);
|
||||
i915_gem_drain_freed_objects(i915);
|
||||
|
||||
mutex_lock(&i915->drm.struct_mutex);
|
||||
mock_fini_ggtt(&i915->ggtt);
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
|
||||
destroy_workqueue(i915->wq);
|
||||
|
||||
i915_gemfs_fini(i915);
|
||||
|
@ -179,8 +176,6 @@ struct drm_i915_private *mock_gem_device(void)
|
|||
|
||||
intel_timelines_init(i915);
|
||||
|
||||
mutex_lock(&i915->drm.struct_mutex);
|
||||
|
||||
mock_init_ggtt(i915, &i915->ggtt);
|
||||
|
||||
mkwrite_device_info(i915)->engine_mask = BIT(0);
|
||||
|
@ -197,7 +192,6 @@ struct drm_i915_private *mock_gem_device(void)
|
|||
goto err_context;
|
||||
|
||||
intel_engines_driver_register(i915);
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
|
||||
WARN_ON(i915_gemfs_init(i915));
|
||||
|
||||
|
@ -208,7 +202,6 @@ struct drm_i915_private *mock_gem_device(void)
|
|||
err_engine:
|
||||
mock_engine_free(i915->engine[RCS0]);
|
||||
err_unlock:
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
intel_timelines_fini(i915);
|
||||
destroy_workqueue(i915->wq);
|
||||
err_drv:
|
||||
|
|
Loading…
Reference in a new issue