[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <48b36219-3344-4cac-8e47-318e7da46c1b@suse.de>
Date: Wed, 2 Jul 2025 10:12:11 +0200
From: Thomas Zimmermann <tzimmermann@...e.de>
To: José Expósito <jose.exposito89@...il.com>,
Michel Dänzer <michel.daenzer@...lbox.org>
Cc: maarten.lankhorst@...ux.intel.com, mripard@...nel.org, airlied@...il.com,
simona@...ll.ch, lumag@...nel.org, cristian.ciocaltea@...labora.com,
gcarlos@...root.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] drm/tests: Fix endian warning
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@...il.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, ¶ms->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)
Powered by blists - more mailing lists