On Tue, 18 May 2021 at 09:27, Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx> wrote: > > Temporarily remove the buddy allocator and related selftests > and hook up the TTM range manager for i915 regions. > > Also modify the mock region selftests somewhat to account for a > fragmenting manager. > > Signed-off-by: Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx> > --- > v2: > - Fix an error unwind in lmem_get_pages() (Reported by Matthew Auld) > - Break out and modify usage of i915_sg_dma_sizes() (Reported by Mattew Auld) > - Break out TTM changes to a separate patch (Reported by Christian König) > --- <snip> > + > +static int mock_region_get_pages(struct drm_i915_gem_object *obj) > +{ > + unsigned int flags; > + struct sg_table *pages; > + > + flags = I915_ALLOC_MIN_PAGE_SIZE; > + if (obj->flags & I915_BO_ALLOC_CONTIGUOUS) > + flags |= I915_ALLOC_CONTIGUOUS; > + > + obj->mm.st_mm_node = intel_region_ttm_node_alloc(obj->mm.region, > + obj->base.size, > + flags); > + if (IS_ERR(obj->mm.st_mm_node)) > + return PTR_ERR(obj->mm.st_mm_node); > + > + pages = intel_region_ttm_node_to_st(obj->mm.region, obj->mm.st_mm_node); > + if (IS_ERR(pages)) > + return PTR_ERR(pages); Needs some onion?