[Intel-gfx] [PATCH] drm/i915: Sanitize the enable_ppgtt module option once

Chris Wilson chris at chris-wilson.co.uk
Tue Apr 22 23:22:15 CEST 2014


On Tue, Apr 22, 2014 at 10:17:50PM +0200, Daniel Vetter wrote:
> Otherwise we'll end up spamming dmesg on every context creation on snb
> with vt-d enabled. This regression was introduced in
> 
> commit 246cbfb5fb9a1ca0997fbb135464c1ff5bb9c549
> Author: Ben Widawsky <benjamin.widawsky at intel.com>
> Date:   Fri Dec 6 14:11:14 2013 -0800
> 
>     drm/i915: Reorganize intel_enable_ppgtt

I started to consider what would happen if i915.enable_ppgtt changed on
the fly, but then saw that it is 0400 and this pre-initialisation makes
a lot of sense. So maybe we could mention that here:

As the i915.enable_ppgtt is read-only it cannot be changed after the
module is loaded and so we can perform an early sanitization of the
values.

> References: https://lkml.org/lkml/2014/4/17/599
> Cc: Alessandro Suardi <alessandro.suardi at gmail.com>
> Cc: Ben Widawsky <ben at bwidawsk.net>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>

If you care to add in some of the comments,
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

>  drivers/gpu/drm/i915/i915_gem_gtt.c | 26 +++++++++++++++++++-------
>  1 file changed, 19 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 0d514ff9b94c..47491c4a1181 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -34,25 +34,35 @@ static void gen8_setup_private_ppat(struct drm_i915_private *dev_priv);
>  
>  bool intel_enable_ppgtt(struct drm_device *dev, bool full)
>  {
> -	if (i915.enable_ppgtt == 0 || !HAS_ALIASING_PPGTT(dev))
> +	if (i915.enable_ppgtt == 0)
>  		return false;
>  
>  	if (i915.enable_ppgtt == 1 && full)
>  		return false;
>  
> +	return true;
> +}
> +

/* i915.enable_ppgtt is read-only, so do an early pass to validate
 * the user's requested state against the hardware/driver capabilities.
 * We do this now so that we can print out any log messages once rather
 * than every time we check intel_enable_ppgtt().
 */
> +static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt)
> +{
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list