[Intel-gfx] [PATCH 03/11] drm/i915: initialization/teardown for the aliasing ppgtt

Ben Widawsky ben at bwidawsk.net
Tue Nov 29 19:50:56 CET 2011


On Mon, 28 Nov 2011 21:35:30 +0100
Daniel Vetter <daniel.vetter at ffwll.ch> wrote:

> This just adds the setup and teardown code for the ppgtt PDE and the
> last-level pagetables, which are fixed for the entire lifetime, at
> least for the moment.
> 
> v2: Kill the stray debug printk noted by and improve the pte
> definitions as suggested by Chris Wilson.
> 
> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/i915_dma.c     |   14 +++-
>  drivers/gpu/drm/i915/i915_drv.h     |   18 +++++
>  drivers/gpu/drm/i915/i915_gem_gtt.c |  133 +++++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/i915_reg.h     |   18 +++++
>  4 files changed, 181 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index fd617fb..9d9a92c 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1199,13 +1199,21 @@ static int i915_load_gem_init(struct drm_device *dev)
>  	 * at the last page of the aperture.  One page should be enough to
>  	 * keep any prefetching inside of the aperture.
>  	 */
> -	i915_gem_do_init(dev, 0, mappable_size, gtt_size - PAGE_SIZE);
> +	i915_gem_do_init(dev, 0, mappable_size, gtt_size - PAGE_SIZE - 512*PAGE_SIZE);
> +
> +	if (HAS_ALIASING_PPGTT(dev)) {
> +		ret = i915_gem_init_aliasing_ppgtt(dev);
> +		if (ret)
> +			return ret;
> +	}

Not sure if you fixed this based on our IRC conversation. The size
belongs in the HAS_ALIASING block. Also, I'd prefer NUM_PDEs or
something similar. Finally, if you put the PDEs at the top, couldn't we
get rid of the scratch page?

Ben



More information about the Intel-gfx mailing list