Re: [PATCH 1/2] drm/tests: Fix endian warning

From: Michel Dänzer
Date: Tue Jul 01 2025 - 13:20:20 EST


On 01.07.25 18:45, José Expósito wrote:
> Hey Michel,
>
> Thanks for looking into this.
>
> On Tue, Jul 01, 2025 at 10:22:13AM +0200, Michel Dänzer wrote:
>> On 30.06.25 11:00, José Expósito wrote:
>>> When compiling with sparse enabled, this warning is thrown:
>>>
>>> warning: incorrect type in argument 2 (different base types)
>>> expected restricted __le32 const [usertype] *buf
>>> got unsigned int [usertype] *[assigned] buf
>>>
>>> Add a cast to fix it.
>>>
>>> Fixes: 453114319699 ("drm/format-helper: Add KUnit tests for drm_fb_xrgb8888_to_xrgb2101010()")
>>> Signed-off-by: José Expósito <jose.exposito89@xxxxxxxxx>
>>> ---
>>> drivers/gpu/drm/tests/drm_format_helper_test.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/tests/drm_format_helper_test.c b/drivers/gpu/drm/tests/drm_format_helper_test.c
>>> index 7299fa8971ce..86829e1cb7f0 100644
>>> --- a/drivers/gpu/drm/tests/drm_format_helper_test.c
>>> +++ b/drivers/gpu/drm/tests/drm_format_helper_test.c
>>> @@ -1033,7 +1033,7 @@ static void drm_test_fb_xrgb8888_to_xrgb2101010(struct kunit *test)
>>> NULL : &result->dst_pitch;
>>>
>>> drm_fb_xrgb8888_to_xrgb2101010(&dst, dst_pitch, &src, &fb, &params->clip, &fmtcnv_state);
>>> - buf = le32buf_to_cpu(test, buf, dst_size / sizeof(u32));
>>> + buf = le32buf_to_cpu(test, (__force const __le32 *)buf, dst_size / sizeof(u32));
>>> KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size);
>>>
>>> buf = dst.vaddr; /* restore original value of buf */
>>
>> It might be cleaner to use two separate variables instead of using "buf" as both little endian and host byte order. (Same for patch 2)
>
> Yes, however, the same pattern is repeated 10 times in this file.
>
> What do you think about fixing it in a follow up? I don't think it
> should block fixing the KUnit tests.

Ah, yes, makes sense to do it separately then.


--
Earthling Michel Dänzer \ GNOME / Xwayland / Mesa developer
https://redhat.com \ Libre software enthusiast