aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 76354d3ba925..b4a4f36d2f00 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4884,25 +4884,18 @@ i915_gem_init_hw(struct drm_device *dev)
4884 for (i = 0; i < NUM_L3_SLICES(dev); i++) 4884 for (i = 0; i < NUM_L3_SLICES(dev); i++)
4885 i915_gem_l3_remap(&dev_priv->ring[RCS], i); 4885 i915_gem_l3_remap(&dev_priv->ring[RCS], i);
4886 4886
4887 /* 4887 ret = i915_ppgtt_init_hw(dev);
4888 * XXX: Contexts should only be initialized once. Doing a switch to the
4889 * default context switch however is something we'd like to do after
4890 * reset or thaw (the latter may not actually be necessary for HW, but
4891 * goes with our code better). Context switching requires rings (for
4892 * the do_switch), but before enabling PPGTT. So don't move this.
4893 */
4894 ret = i915_gem_context_enable(dev_priv);
4895 if (ret && ret != -EIO) { 4888 if (ret && ret != -EIO) {
4896 DRM_ERROR("Context enable failed %d\n", ret); 4889 DRM_ERROR("PPGTT enable failed %d\n", ret);
4897 i915_gem_cleanup_ringbuffer(dev); 4890 i915_gem_cleanup_ringbuffer(dev);
4898
4899 return ret;
4900 } 4891 }
4901 4892
4902 ret = i915_ppgtt_init_hw(dev); 4893 ret = i915_gem_context_enable(dev_priv);
4903 if (ret && ret != -EIO) { 4894 if (ret && ret != -EIO) {
4904 DRM_ERROR("PPGTT enable failed %d\n", ret); 4895 DRM_ERROR("Context enable failed %d\n", ret);
4905 i915_gem_cleanup_ringbuffer(dev); 4896 i915_gem_cleanup_ringbuffer(dev);
4897
4898 return ret;
4906 } 4899 }
4907 4900
4908 return ret; 4901 return ret;