On 5/22/2015 6:05 PM, Mika Kuoppala wrote:
As we use one scratch page for all ppgtt instances, we can
use one scratch page table and scratch directory across
all ppgtt instances, saving 2 pages + structs per ppgtt.
v2: Rebase
Signed-off-by: Mika Kuoppala <mika.kuopp...@intel.com>
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 273 +++++++++++++++++++++++-------------
1 file changed, 178 insertions(+), 95 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 61f4da0..ab113ce 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -430,6 +430,17 @@ fail_bitmap:
return ERR_PTR(ret);
}
+
+static int setup_scratch(struct i915_address_space *vm)
+{
+ struct i915_address_space *ggtt_vm = &to_i915(vm->dev)->gtt.base;
+
+ if (i915_is_ggtt(vm))
+ return setup_scratch_ggtt(vm);
+
+ vm->scratch_page = ggtt_vm->scratch_page;
+ vm->scratch_pt = ggtt_vm->scratch_pt;
+ vm->scratch_pd = ggtt_vm->scratch_pd;
I'll need to change this a bit for 48b, so it doesn't happen inside
setup_scratch_ggtt (scratch_pdp wouldn't make sense in ggtt); I'll still
keep only 1 instance.
+
+ return 0;
+}
+
Reviewed-by: Michel Thierry <michel.thie...@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx