[Intel-gfx] [PATCH v2 05/15] drm/i915/ttm Initialize the ttm device and memory managers

Matthew Auld matthew.william.auld at gmail.com
Tue May 18 09:09:50 UTC 2021


On Tue, 18 May 2021 at 09:27, Thomas Hellström
<thomas.hellstrom at linux.intel.com> 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 at linux.intel.com>
> ---
> 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?


More information about the Intel-gfx mailing list