Commit d595bd4b authored by Ben Widawsky's avatar Ben Widawsky Committed by Daniel Vetter

drm/i915: Fix BDW PPGTT error path

When we fail for some reason on loading the PDPs, it would be wise to
disable the PPGTT in the ring registers. If we do not do this, we have
undefined results.
Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent d629336b
...@@ -238,10 +238,16 @@ static int gen8_ppgtt_enable(struct drm_device *dev) ...@@ -238,10 +238,16 @@ static int gen8_ppgtt_enable(struct drm_device *dev)
for_each_ring(ring, dev_priv, j) { for_each_ring(ring, dev_priv, j) {
ret = gen8_write_pdp(ring, i, addr); ret = gen8_write_pdp(ring, i, addr);
if (ret) if (ret)
return ret; goto err_out;
} }
} }
return 0; return 0;
err_out:
for_each_ring(ring, dev_priv, j)
I915_WRITE(RING_MODE_GEN7(ring),
_MASKED_BIT_DISABLE(GFX_PPGTT_ENABLE));
return ret;
} }
static void gen8_ppgtt_clear_range(struct i915_address_space *vm, static void gen8_ppgtt_clear_range(struct i915_address_space *vm,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment