[Intel-gfx] [PATCH 1/2] drm/i915: Use the same pte_encoding for ppgtt as for gtt

Kenneth Graunke kenneth at whitecape.org
Tue Jul 30 19:39:05 CEST 2013


On 07/30/2013 09:58 AM, Chris Wilson wrote:
> The PTE layouts are the same for both ppgtt and gtt, so we can simplify
> the setup for ppgtt by copying the encoding function pointer from gtt.
> This prevents bugs where we update one function pointer, but forget the
> other.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Ben Widawsky <ben at bwidawsk.net>
> ---
>   drivers/gpu/drm/i915/i915_gem_gtt.c | 8 +-------
>   1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 1294cee..0522d00 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -298,13 +298,7 @@ static int gen6_ppgtt_init(struct i915_hw_ppgtt *ppgtt)
>   	 * now. */
>   	first_pd_entry_in_global_pt = gtt_total_entries(dev_priv->gtt);
>
> -	if (IS_HASWELL(dev)) {
> -		ppgtt->base.pte_encode = hsw_pte_encode;
> -	} else if (IS_VALLEYVIEW(dev)) {
> -		ppgtt->base.pte_encode = byt_pte_encode;
> -	} else {
> -		ppgtt->base.pte_encode = gen6_pte_encode;
> -	}
> +	ppgtt->base.pte_encode = dev_priv->gtt.base.pte_encode;
>   	ppgtt->num_pd_entries = GEN6_PPGTT_PD_ENTRIES;
>   	ppgtt->enable = gen6_ppgtt_enable;
>   	ppgtt->base.clear_range = gen6_ppgtt_clear_range;

This is much nicer than my old code - thanks!

It might be worth mentioning in the commit message that in particular, 
iris_pte_encode was forgotten here.  Either way,

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>




More information about the Intel-gfx mailing list