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);
 
        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;
                break;
 
        case I915_MMAP_OFFSET_WC:
-               if (!boot_cpu_has(X86_FEATURE_PAT))
+               if (!pat_enabled())
                        return -ENODEV;
                type = I915_MMAP_TYPE_WC;
                break;
                break;
 
        case I915_MMAP_OFFSET_UC:
-               if (!boot_cpu_has(X86_FEATURE_PAT))
+               if (!pat_enabled())
                        return -ENODEV;
                type = I915_MMAP_TYPE_UC;
                break;
 
                        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);