[PATCH 1/6] drm/tests/drm_buddy: fix 32b build

Christian König christian.koenig at amd.com
Mon Feb 19 10:30:31 UTC 2024


Am 19.02.24 um 11:28 schrieb Matthew Auld:
> On 19/02/2024 09:53, Christian König wrote:
>> Am 19.02.24 um 10:42 schrieb Matthew Auld:
>>> On 15/02/2024 17:44, Matthew Auld wrote:
>>>> Doesn't seem to compile on 32b, presumably due to u64 mod/division.
>>>> Simplest is to just switch over to u32 here. Also make print modifiers
>>>> consistent with that.
>>>>
>>>> Fixes: a64056bb5a32 ("drm/tests/drm_buddy: add alloc_contiguous test")
>>>> Reported-by: Geert Uytterhoeven <geert at linux-m68k.org>
>>>> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
>>>> Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam at amd.com>
>>>> Cc: Christian König <christian.koenig at amd.com>
>>>> Cc: Maxime Ripard <mripard at redhat.com>
>>>
>>> Any chance someone can push just this single patch here, since it 
>>> fixes 32b build? It already has an r-b from Arun.
>>
>> Already working on this. Just give me a few more minutes.
>
> Thanks.

No, problem. I would have pushed this earlier, but my build server 
doesn't want to work any more. Looks like the SSD has passed its warranty :(

Should I push the other three patches to drm-misc-fixes as well? I 
currently can't even build test them.

Thanks,
Christian.

>
>>
>> Thanks,
>> Christian.
>>
>>>
>>>> ---
>>>>   drivers/gpu/drm/tests/drm_buddy_test.c | 16 ++++++++--------
>>>>   1 file changed, 8 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/tests/drm_buddy_test.c 
>>>> b/drivers/gpu/drm/tests/drm_buddy_test.c
>>>> index fee6bec757d1..edacc1adb28f 100644
>>>> --- a/drivers/gpu/drm/tests/drm_buddy_test.c
>>>> +++ b/drivers/gpu/drm/tests/drm_buddy_test.c
>>>> @@ -21,7 +21,7 @@ static inline u64 get_size(int order, u64 
>>>> chunk_size)
>>>>     static void drm_test_buddy_alloc_contiguous(struct kunit *test)
>>>>   {
>>>> -    u64 mm_size, ps = SZ_4K, i, n_pages, total;
>>>> +    u32 mm_size, ps = SZ_4K, i, n_pages, total;
>>>>       struct drm_buddy_block *block;
>>>>       struct drm_buddy mm;
>>>>       LIST_HEAD(left);
>>>> @@ -56,30 +56,30 @@ static void 
>>>> drm_test_buddy_alloc_contiguous(struct kunit *test)
>>>>           KUNIT_ASSERT_FALSE_MSG(test,
>>>>                          drm_buddy_alloc_blocks(&mm, 0, mm_size,
>>>>                                     ps, ps, list, 0),
>>>> -                       "buddy_alloc hit an error size=%d\n",
>>>> +                       "buddy_alloc hit an error size=%u\n",
>>>>                          ps);
>>>>       } while (++i < n_pages);
>>>>         KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, 
>>>> mm_size,
>>>>                                  3 * ps, ps, &allocated,
>>>> DRM_BUDDY_CONTIGUOUS_ALLOCATION),
>>>> -                   "buddy_alloc didn't error size=%d\n", 3 * ps);
>>>> +                   "buddy_alloc didn't error size=%u\n", 3 * ps);
>>>>         drm_buddy_free_list(&mm, &middle);
>>>>       KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, 
>>>> mm_size,
>>>>                                  3 * ps, ps, &allocated,
>>>> DRM_BUDDY_CONTIGUOUS_ALLOCATION),
>>>> -                   "buddy_alloc didn't error size=%llu\n", 3 * ps);
>>>> +                   "buddy_alloc didn't error size=%u\n", 3 * ps);
>>>>       KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, 
>>>> mm_size,
>>>>                                  2 * ps, ps, &allocated,
>>>> DRM_BUDDY_CONTIGUOUS_ALLOCATION),
>>>> -                   "buddy_alloc didn't error size=%llu\n", 2 * ps);
>>>> +                   "buddy_alloc didn't error size=%u\n", 2 * ps);
>>>>         drm_buddy_free_list(&mm, &right);
>>>>       KUNIT_ASSERT_TRUE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, 
>>>> mm_size,
>>>>                                  3 * ps, ps, &allocated,
>>>> DRM_BUDDY_CONTIGUOUS_ALLOCATION),
>>>> -                   "buddy_alloc didn't error size=%llu\n", 3 * ps);
>>>> +                   "buddy_alloc didn't error size=%u\n", 3 * ps);
>>>>       /*
>>>>        * At this point we should have enough contiguous space for 2 
>>>> blocks,
>>>>        * however they are never buddies (since we freed middle and 
>>>> right) so
>>>> @@ -88,13 +88,13 @@ static void 
>>>> drm_test_buddy_alloc_contiguous(struct kunit *test)
>>>>       KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, 
>>>> mm_size,
>>>>                                   2 * ps, ps, &allocated,
>>>> DRM_BUDDY_CONTIGUOUS_ALLOCATION),
>>>> -                   "buddy_alloc hit an error size=%d\n", 2 * ps);
>>>> +                   "buddy_alloc hit an error size=%u\n", 2 * ps);
>>>>         drm_buddy_free_list(&mm, &left);
>>>>       KUNIT_ASSERT_FALSE_MSG(test, drm_buddy_alloc_blocks(&mm, 0, 
>>>> mm_size,
>>>>                                   3 * ps, ps, &allocated,
>>>> DRM_BUDDY_CONTIGUOUS_ALLOCATION),
>>>> -                   "buddy_alloc hit an error size=%d\n", 3 * ps);
>>>> +                   "buddy_alloc hit an error size=%u\n", 3 * ps);
>>>>         total = 0;
>>>>       list_for_each_entry(block, &allocated, link)
>>



More information about the Intel-xe mailing list