This patch makes PPGTT page table non-shrinkable when using aliasing PPGTT
mode. It's just a temporary solution for making aliasing PPGTT mode work.

Cc: Tvrtko Ursulin <tvrtko.ursu...@linux.intel.com>
Cc: Michal Winiarski <michal.winiar...@intel.com>
Cc: Michel Thierry <michel.thie...@intel.com>
Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com>
Cc: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vet...@intel.com>
Cc: Zhenyu Wang <zhen...@linux.intel.com>
Cc: Zhiyuan Lv <zhiyuan...@intel.com>
Signed-off-by: Zhi Wang <zhi.a.w...@intel.com>
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 22b3374..3af3b1c 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -754,10 +754,12 @@ static bool gen8_ppgtt_clear_pt(struct i915_address_space 
*vm,
 
        GEM_BUG_ON(pte_end > GEN8_PTES);
 
-       bitmap_clear(pt->used_ptes, pte, num_entries);
+       if (USES_FULL_PPGTT(vm->i915)) {
+               bitmap_clear(pt->used_ptes, pte, num_entries);
 
-       if (bitmap_empty(pt->used_ptes, GEN8_PTES))
-               return true;
+               if (bitmap_empty(pt->used_ptes, GEN8_PTES))
+                       return true;
+       }
 
        pt_vaddr = kmap_px(pt);
 
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to