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

Matthew Auld matthew.auld at intel.com
Mon Feb 19 10:48:41 UTC 2024


On 19/02/2024 10:30, Christian König wrote:
> 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.

Need to send a v2 for that. One minor change in the test just to be 
consistent with using u32. Thanks.

> 
> 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