__i915_gem_object_get_sg(struct drm_i915_gem_object *obj,
                         struct i915_gem_object_page_iter *iter,
                         unsigned int n,
-                        unsigned int *offset, bool allow_alloc, bool dma);
+                        unsigned int *offset, bool dma);
 
 static inline struct scatterlist *
 i915_gem_object_get_sg(struct drm_i915_gem_object *obj,
                       unsigned int n,
-                      unsigned int *offset, bool allow_alloc)
+                      unsigned int *offset)
 {
-       return __i915_gem_object_get_sg(obj, &obj->mm.get_page, n, offset, allow_alloc, false);
+       return __i915_gem_object_get_sg(obj, &obj->mm.get_page, n, offset, false);
 }
 
 static inline struct scatterlist *
 i915_gem_object_get_sg_dma(struct drm_i915_gem_object *obj,
                           unsigned int n,
-                          unsigned int *offset, bool allow_alloc)
+                          unsigned int *offset)
 {
-       return __i915_gem_object_get_sg(obj, &obj->mm.get_dma_page, n, offset, allow_alloc, true);
+       return __i915_gem_object_get_sg(obj, &obj->mm.get_dma_page, n, offset, true);
 }
 
 struct page *
 
                         struct i915_gem_object_page_iter *iter,
                         unsigned int n,
                         unsigned int *offset,
-                        bool allow_alloc, bool dma)
+                        bool dma)
 {
        struct scatterlist *sg;
        unsigned int idx, count;
        if (n < READ_ONCE(iter->sg_idx))
                goto lookup;
 
-       if (!allow_alloc)
-               goto manual_lookup;
-
        mutex_lock(&iter->lock);
 
        /* We prefer to reuse the last sg so that repeated lookup of this
        if (unlikely(n < idx)) /* insertion completed by another thread */
                goto lookup;
 
-       goto manual_walk;
-
-manual_lookup:
-       idx = 0;
-       sg = obj->mm.pages->sgl;
-       count = __sg_page_count(sg);
-
-manual_walk:
-       /*
-        * In case we failed to insert the entry into the radixtree, we need
+       /* In case we failed to insert the entry into the radixtree, we need
         * to look beyond the current sg.
         */
        while (idx + count <= n) {
 
        GEM_BUG_ON(!i915_gem_object_has_struct_page(obj));
 
-       sg = i915_gem_object_get_sg(obj, n, &offset, true);
+       sg = i915_gem_object_get_sg(obj, n, &offset);
        return nth_page(sg_page(sg), offset);
 }
 
        struct scatterlist *sg;
        unsigned int offset;
 
-       sg = i915_gem_object_get_sg_dma(obj, n, &offset, true);
+       sg = i915_gem_object_get_sg_dma(obj, n, &offset);
 
        if (len)
                *len = sg_dma_len(sg) - (offset << PAGE_SHIFT);
 
 
        GEM_WARN_ON(bo->ttm);
 
-       sg = __i915_gem_object_get_sg(obj, &obj->ttm.get_io_page, page_offset, &ofs, true, true);
+       sg = __i915_gem_object_get_sg(obj, &obj->ttm.get_io_page, page_offset, &ofs, true);
 
        return ((base + sg_dma_address(sg)) >> PAGE_SHIFT) + ofs;
 }
 
        if (ret)
                goto err_sg_alloc;
 
-       iter = i915_gem_object_get_sg_dma(obj, view->partial.offset, &offset, true);
+       iter = i915_gem_object_get_sg_dma(obj, view->partial.offset, &offset);
        GEM_BUG_ON(!iter);
 
        sg = st->sgl;