Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > This will be useful to consolidate recursive code. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 3 +++ > drivers/gpu/drm/i915/i915_gem_gtt.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index da4db76ce054..2fc60e8acd9a 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -1537,6 +1537,8 @@ static void ppgtt_init(struct i915_ppgtt *ppgtt, struct intel_gt *gt) > ppgtt->vm.vma_ops.unbind_vma = ppgtt_unbind_vma; > ppgtt->vm.vma_ops.set_pages = ppgtt_set_pages; > ppgtt->vm.vma_ops.clear_pages = clear_pages; > + > + ppgtt->vm.top = i915_vm_is_4lvl(&ppgtt->vm) ? 3 : 2; Perhaps it becomes evident later in the series why top and not level, so these would be 4 and 3 here. -Mika > } > > static void init_pd_n(struct i915_address_space *vm, > @@ -2086,6 +2088,7 @@ static struct i915_ppgtt *gen6_ppgtt_create(struct drm_i915_private *i915) > return ERR_PTR(-ENOMEM); > > ppgtt_init(&ppgtt->base, &i915->gt); > + ppgtt->base.vm.top = 1; > > ppgtt->base.vm.allocate_va_range = gen6_alloc_va_range; > ppgtt->base.vm.clear_range = gen6_ppgtt_clear_range; > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h > index 48bb8c5125e3..119b6d33b266 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.h > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h > @@ -323,6 +323,7 @@ struct i915_address_space { > struct i915_page_dma scratch_pt; > struct i915_page_dma scratch_pd; > struct i915_page_dma scratch_pdp; /* GEN8+ & 48b PPGTT */ > + int top; > > /** > * List of vma currently bound. > -- > 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx