aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Widawsky <benjamin.widawsky@intel.com>2014-03-08 14:58:16 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-11 16:05:49 -0400
commit8407bb9129da95fc4099b84cdbbc23e6d4f66aee (patch)
treec42f882b58dbcc9a2980f22735079c125ebc4a9f
parent6c7fba04ecfddd634751239a52df0eccffc8700b (diff)
drm/i915/bdw: Use scratch page table for GEN8 PPGTT
I'm not clear if the hardware is still subject to the same prefetching issues that made us use a scratch page in the first place. In either case, we're using garbage with the current code (we will end up using offset 0). This may be the cause of our current gem_cpu_reloc regression with PPGTT. I cannot test it at the moment. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 63a6dc7a6bb6..91505419db40 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -1191,7 +1191,6 @@ static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt)
1191 ppgtt->base.clear_range = gen6_ppgtt_clear_range; 1191 ppgtt->base.clear_range = gen6_ppgtt_clear_range;
1192 ppgtt->base.insert_entries = gen6_ppgtt_insert_entries; 1192 ppgtt->base.insert_entries = gen6_ppgtt_insert_entries;
1193 ppgtt->base.cleanup = gen6_ppgtt_cleanup; 1193 ppgtt->base.cleanup = gen6_ppgtt_cleanup;
1194 ppgtt->base.scratch = dev_priv->gtt.base.scratch;
1195 ppgtt->base.start = 0; 1194 ppgtt->base.start = 0;
1196 ppgtt->base.total = GEN6_PPGTT_PD_ENTRIES * I915_PPGTT_PT_ENTRIES * PAGE_SIZE; 1195 ppgtt->base.total = GEN6_PPGTT_PD_ENTRIES * I915_PPGTT_PT_ENTRIES * PAGE_SIZE;
1197 ppgtt->debug_dump = gen6_dump_ppgtt; 1196 ppgtt->debug_dump = gen6_dump_ppgtt;
@@ -1214,6 +1213,7 @@ int i915_gem_init_ppgtt(struct drm_device *dev, struct i915_hw_ppgtt *ppgtt)
1214 int ret = 0; 1213 int ret = 0;
1215 1214
1216 ppgtt->base.dev = dev; 1215 ppgtt->base.dev = dev;
1216 ppgtt->base.scratch = dev_priv->gtt.base.scratch;
1217 1217
1218 if (INTEL_INFO(dev)->gen < 8) 1218 if (INTEL_INFO(dev)->gen < 8)
1219 ret = gen6_ppgtt_init(ppgtt); 1219 ret = gen6_ppgtt_init(ppgtt);