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

From: Michel Dänzer
Date: Tue Jul 01 2025 - 04:22:39 EST


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)


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