Skip to content
  1. Sep 15, 2020
    • Chris Wilson's avatar
      drm/i915/gem: Prevent using pgprot_writecombine() if PAT is not supported · 121ba69f
      Chris Wilson authored
      Let's not try and use PAT attributes for I915_MAP_WC if the CPU doesn't
      support PAT.
      
      Fixes: 6056e500
      
       ("drm/i915/gem: Support discontiguous lmem object maps")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Cc: <stable@vger.kernel.org> # v5.6+
      Link: https://patchwork.freedesktop.org/patch/msgid/20200915091417.4086-2-chris@chris-wilson.co.uk
      121ba69f
    • Chris Wilson's avatar
      drm/i915/gem: Avoid implicit vmap for highmem on x86-32 · 060bb115
      Chris Wilson authored
      On 32b, highmem using a finite set of indirect PTE (i.e. vmap) to provide
      virtual mappings of the high pages.  As these are finite, map_new_virtual()
      must wait for some other kmap() to finish when it runs out. If we map a
      large number of objects, there is no method for it to tell us to release
      the mappings, and we deadlock.
      
      However, if we make an explicit vmap of the page, that uses a larger
      vmalloc arena, and also has the ability to tell us to release unwanted
      mappings. Most importantly, it will fail and propagate an error instead
      of waiting forever.
      
      Fixes: fb8621d3 ("drm/i915: Avoid allocating a vmap arena for a single page") #x86-32
      References: e87666b5
      
       ("drm/i915/shrinker: Hook up vmap allocation failure notifier")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Cc: <stable@vger.kernel.org> # v4.7+
      Link: https://patchwork.freedesktop.org/patch/msgid/20200915091417.4086-1-chris@chris-wilson.co.uk
      060bb115
  2. Sep 07, 2020