Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > When initialising the page directories, we set the GTT entries and the > tree to the scratch page. We have already replaced the DMA fill with > memset64(), but we can similarly use memset_p() to set the pointer array. > > References: 4dd504f7d98a ("drm/i915: Use memset64() to prefill the GTT page") > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Cc: Matthew Auld <matthew.auld@xxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 14 +++----------- > 1 file changed, 3 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 0c0f1affddad..a44eccda7d48 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -673,27 +673,22 @@ static void free_pd(struct i915_address_space *vm, > static void gen8_initialize_pd(struct i915_address_space *vm, > struct i915_page_directory *pd) > { > - unsigned int i; > - > fill_px(vm, pd, > gen8_pde_encode(px_dma(vm->scratch_pt), I915_CACHE_LLC)); > - for (i = 0; i < I915_PDES; i++) > - pd->page_table[i] = vm->scratch_pt; > + memset_p((void **)pd->page_table, vm->scratch_pt, I915_PDES); > } > > static int __pdp_init(struct i915_address_space *vm, > struct i915_page_directory_pointer *pdp) > { > const unsigned int pdpes = i915_pdpes_per_pdp(vm); > - unsigned int i; > > pdp->page_directory = kmalloc_array(pdpes, sizeof(*pdp->page_directory), > GFP_KERNEL | __GFP_NOWARN); > if (unlikely(!pdp->page_directory)) > return -ENOMEM; > > - for (i = 0; i < pdpes; i++) > - pdp->page_directory[i] = vm->scratch_pd; > + memset_p((void **)pdp->page_directory, vm->scratch_pd, pdpes); > > return 0; > } > @@ -764,12 +759,9 @@ static void gen8_initialize_pdp(struct i915_address_space *vm, > static void gen8_initialize_pml4(struct i915_address_space *vm, > struct i915_pml4 *pml4) > { > - unsigned int i; > - > fill_px(vm, pml4, > gen8_pml4e_encode(px_dma(vm->scratch_pdp), I915_CACHE_LLC)); > - for (i = 0; i < GEN8_PML4ES_PER_PML4; i++) > - pml4->pdps[i] = vm->scratch_pdp; > + memset_p((void **)pml4->pdps, vm->scratch_pdp, GEN8_PML4ES_PER_PML4); > } > > /* Broadwell Page Directory Pointer Descriptors */ > -- > 2.16.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx