diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-11-20 11:45:19 +0300 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-12-03 11:35:30 +0300 |
commit | d5abdfda91228349e7410e7a98f67fe044bfea7c (patch) | |
tree | 8023f07340d5cf2eb98d2f3ef60227092bc59b7f /drivers/gpu/drm/i915/i915_gem.c | |
parent | e7778be1eab918274f79603d7c17b3ec8be77386 (diff) | |
download | linux-d5abdfda91228349e7410e7a98f67fe044bfea7c.tar.xz |
drm/i915: Move init_unused_rings to gem_init_hw
We need to do that every time we resume the rings, not just at load.
I've overlooked this in my untangling of the ring init code.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Dave Gordon <david.s.gordon@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 7a83a9fa76b3..9d362d320d82 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4709,14 +4709,6 @@ int i915_gem_init_rings(struct drm_device *dev) struct drm_i915_private *dev_priv = dev->dev_private; int ret; - /* - * At least 830 can leave some of the unused rings - * "active" (ie. head != tail) after resume which - * will prevent c3 entry. Makes sure all unused rings - * are totally idle. - */ - init_unused_rings(dev); - ret = intel_init_render_ring_buffer(dev); if (ret) return ret; @@ -4796,6 +4788,14 @@ i915_gem_init_hw(struct drm_device *dev) i915_gem_init_swizzling(dev); + /* + * At least 830 can leave some of the unused rings + * "active" (ie. head != tail) after resume which + * will prevent c3 entry. Makes sure all unused rings + * are totally idle. + */ + init_unused_rings(dev); + for_each_ring(ring, dev_priv, i) { ret = ring->init_hw(ring); if (ret) |