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.

v3:
- Fixes the format of "Fixes line".

v2:
- Add fixes tag. (Chris and Daniel)

Fixes: 2ce5179fe826 ("drm/i915/gtt: Free unused lower-level page tables")
Cc: Jani Nikula <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
Cc: Michal Winiarski <[email protected]>
Cc: Michel Thierry <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Cc: Chris Wilson <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Zhenyu Wang <[email protected]>
Cc: Zhiyuan Lv <[email protected]>
Signed-off-by: Zhi Wang <[email protected]>
Link: 
http://patchwork.freedesktop.org/patch/msgid/[email protected]
Reviewed-by: Chris Wilson <[email protected]>
Cc: <[email protected]> # v4.10-rc1+
Signed-off-by: Chris Wilson <[email protected]>
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

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

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to