[Intel-gfx] [PATCH] drm/i915: replace X86_FEATURE_PAT with pat_enabled()

Souza, Jose jose.souza at intel.com
Thu Dec 2 20:21:40 UTC 2021


On Wed, 2021-12-01 at 16:30 -0800, Lucas De Marchi wrote:
> PAT can be disabled on boot with "nopat" in the command line. Replace
> one x86-ism with another, which is slightly more correct to prepare for
> supporting other architectures.

Reviewed-by: José Roberto de Souza <jose.souza at intel.com>

> 
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_mman.c  | 8 ++++----
>  drivers/gpu/drm/i915/gem/i915_gem_pages.c | 3 +--
>  2 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> index 65fc6ff5f59d..c0c509e5c0ae 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
> @@ -72,7 +72,7 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data,
>  	if (args->flags & ~(I915_MMAP_WC))
>  		return -EINVAL;
>  
> -	if (args->flags & I915_MMAP_WC && !boot_cpu_has(X86_FEATURE_PAT))
> +	if (args->flags & I915_MMAP_WC && !pat_enabled())
>  		return -ENODEV;
>  
>  	obj = i915_gem_object_lookup(file, args->handle);
> @@ -736,7 +736,7 @@ i915_gem_dumb_mmap_offset(struct drm_file *file,
>  
>  	if (HAS_LMEM(to_i915(dev)))
>  		mmap_type = I915_MMAP_TYPE_FIXED;
> -	else if (boot_cpu_has(X86_FEATURE_PAT))
> +	else if (pat_enabled())
>  		mmap_type = I915_MMAP_TYPE_WC;
>  	else if (!i915_ggtt_has_aperture(&to_i915(dev)->ggtt))
>  		return -ENODEV;
> @@ -792,7 +792,7 @@ i915_gem_mmap_offset_ioctl(struct drm_device *dev, void *data,
>  		break;
>  
>  	case I915_MMAP_OFFSET_WC:
> -		if (!boot_cpu_has(X86_FEATURE_PAT))
> +		if (!pat_enabled())
>  			return -ENODEV;
>  		type = I915_MMAP_TYPE_WC;
>  		break;
> @@ -802,7 +802,7 @@ i915_gem_mmap_offset_ioctl(struct drm_device *dev, void *data,
>  		break;
>  
>  	case I915_MMAP_OFFSET_UC:
> -		if (!boot_cpu_has(X86_FEATURE_PAT))
> +		if (!pat_enabled())
>  			return -ENODEV;
>  		type = I915_MMAP_TYPE_UC;
>  		break;
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> index 49c6e55c68ce..89b70f5cde7a 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> @@ -424,8 +424,7 @@ void *i915_gem_object_pin_map(struct drm_i915_gem_object *obj,
>  			goto err_unpin;
>  		}
>  
> -		if (GEM_WARN_ON(type == I915_MAP_WC &&
> -				!static_cpu_has(X86_FEATURE_PAT)))
> +		if (GEM_WARN_ON(type == I915_MAP_WC && !pat_enabled()))
>  			ptr = ERR_PTR(-ENODEV);
>  		else if (i915_gem_object_has_struct_page(obj))
>  			ptr = i915_gem_object_map_page(obj, type);



More information about the Intel-gfx mailing list