drm/i915/gtt: drop unneeded make_unshrinkable
[platform/kernel/linux-starfive.git] / drivers / gpu / drm / i915 / gt / gen8_ppgtt.c
index 6e0e52e..8af2f70 100644 (file)
@@ -301,7 +301,6 @@ static void __gen8_ppgtt_alloc(struct i915_address_space * const vm,
 
                        pt = stash->pt[!!lvl];
                        __i915_gem_object_pin_pages(pt->base);
-                       i915_gem_object_make_unshrinkable(pt->base);
 
                        fill_px(pt, vm->scratch[lvl]->encode);
 
@@ -548,6 +547,7 @@ static void gen8_ppgtt_insert_huge(struct i915_vma *vma,
                                              I915_GTT_PAGE_SIZE_2M)))) {
                        vaddr = px_vaddr(pd);
                        vaddr[maybe_64K] |= GEN8_PDE_IPS_64K;
+                       clflush_cache_range(vaddr, PAGE_SIZE);
                        page_size = I915_GTT_PAGE_SIZE_64K;
 
                        /*
@@ -568,6 +568,7 @@ static void gen8_ppgtt_insert_huge(struct i915_vma *vma,
                                for (i = 1; i < index; i += 16)
                                        memset64(vaddr + i, encode, 15);
 
+                               clflush_cache_range(vaddr, PAGE_SIZE);
                        }
                }
 
@@ -751,7 +752,8 @@ err_pd:
  * space.
  *
  */
-struct i915_ppgtt *gen8_ppgtt_create(struct intel_gt *gt)
+struct i915_ppgtt *gen8_ppgtt_create(struct intel_gt *gt,
+                                    unsigned long lmem_pt_obj_flags)
 {
        struct i915_ppgtt *ppgtt;
        int err;
@@ -760,7 +762,7 @@ struct i915_ppgtt *gen8_ppgtt_create(struct intel_gt *gt)
        if (!ppgtt)
                return ERR_PTR(-ENOMEM);
 
-       ppgtt_init(ppgtt, gt);
+       ppgtt_init(ppgtt, gt, lmem_pt_obj_flags);
        ppgtt->vm.top = i915_vm_is_4lvl(&ppgtt->vm) ? 3 : 2;
        ppgtt->vm.pd_shift = ilog2(SZ_4K * SZ_4K / sizeof(gen8_pte_t));