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

Thomas Hellström thomas.hellstrom at linux.intel.com
Tue May 18 09:12:27 UTC 2021


On 5/18/21 11:09 AM, Matthew Auld wrote:
> 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?

Ah, yes.

/Thomas




More information about the dri-devel mailing list