Re: [PATCH] drm/i915: Replace open-coded memset_p()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux