diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2017-11-02 13:14:30 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2017-11-03 10:06:53 +0000 |
commit | 136109c67f67ebe449032950ddc3ad5118934635 (patch) | |
tree | a73417f9c086a7404f2fa58dd49e9ee55d8b73a8 /drivers/gpu/drm/i915/i915_gem.c | |
parent | 2d7514152b1c82c81a363f8a171237567ebb7e66 (diff) |
drm/i915: Set up mocs tables before restarting the engines
After a reset, we may immediately begin executing requests on restarting
the engines. Ergo this has to be last step with all re-initialisation
completed beforehand. The mocs setup was after we started executing the
requests; do it earlier!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20171102131430.22328-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 9470ba0c1930..6a71805be389 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4936,13 +4936,10 @@ int i915_gem_init_hw(struct drm_i915_private *dev_priv) if (ret) goto out; - /* Need to do basic initialisation of all rings first: */ - ret = __i915_gem_restart_engines(dev_priv); - if (ret) - goto out; - intel_mocs_init_l3cc_table(dev_priv); + /* Only when the HW is re-initialised, can we replay the requests */ + ret = __i915_gem_restart_engines(dev_priv); out: intel_uncore_forcewake_put(dev_priv, FORCEWAKE_ALL); return ret; |