]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/i915/selftest: allow larger memory allocation
authorMikolaj Wasiak <mikolaj.wasiak@intel.com>
Fri, 9 May 2025 07:57:18 +0000 (09:57 +0200)
committerAndi Shyti <andi.shyti@kernel.org>
Mon, 12 May 2025 09:31:38 +0000 (11:31 +0200)
Due to changes in allocator, the size of the allocation for
contiguous region is not rounded up to a power-of-two and
instead allocated as is. Thus, change the part of test that
expected the allocation to fail.

Signed-off-by: Mikolaj Wasiak <mikolaj.wasiak@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Reviewed-by: Krzysztof Niemiec <krzysztof.niemiec@intel.com>
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://lore.kernel.org/r/fptevdfbclvg2lbfuys5ibffbl2baouywkutnr7vdsy5tzcqfk@mpflwlh6jxfd
drivers/gpu/drm/i915/selftests/intel_memory_region.c

index f08f6674911eec6e8bc7a4a87b22a5ca4458d016..7b856b5090f9a3ef1ad1659e4d092a2293777410 100644 (file)
@@ -413,15 +413,8 @@ static int igt_mock_splintered_region(void *arg)
 
        close_objects(mem, &objects);
 
-       /*
-        * While we should be able allocate everything without any flag
-        * restrictions, if we consider I915_BO_ALLOC_CONTIGUOUS then we are
-        * actually limited to the largest power-of-two for the region size i.e
-        * max_order, due to the inner workings of the buddy allocator. So make
-        * sure that does indeed hold true.
-        */
-
-       obj = igt_object_create(mem, &objects, size, I915_BO_ALLOC_CONTIGUOUS);
+       obj = igt_object_create(mem, &objects, roundup_pow_of_two(size),
+                               I915_BO_ALLOC_CONTIGUOUS);
        if (!IS_ERR(obj)) {
                pr_err("%s too large contiguous allocation was not rejected\n",
                       __func__);
@@ -429,8 +422,7 @@ static int igt_mock_splintered_region(void *arg)
                goto out_close;
        }
 
-       obj = igt_object_create(mem, &objects, rounddown_pow_of_two(size),
-                               I915_BO_ALLOC_CONTIGUOUS);
+       obj = igt_object_create(mem, &objects, size, I915_BO_ALLOC_CONTIGUOUS);
        if (IS_ERR(obj)) {
                pr_err("%s largest possible contiguous allocation failed\n",
                       __func__);