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

Thomas Zimmermann tzimmermann at suse.de
Wed Jul 2 08:12:11 UTC 2025


Hi

Am 01.07.25 um 18:45 schrieb José Expósito:
> 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 at gmail.com>
>>> ---
>>>   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.

Before doing this, you should consider storing the test data in 
little-endian. That would save all the endianess conversion in the code.

Best regards
Thomas

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

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)



More information about the dri-devel mailing list