Re: [PATCH] drm/amd/display: fix 64-bit integer division
From: Arnd Bergmann
Date: Thu Feb 25 2021 - 16:37:48 EST
On Thu, Feb 25, 2021 at 3:33 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
>
From: Arnd Bergmann <arnd@xxxxxxxx>
>
>
The new display synchronization code caused a regression
>
on all 32-bit architectures:
>
>
ld.lld: error: undefined symbol: __aeabi_uldivmod
>
>>> referenced by dce_clock_source.c
>
>>> gpu/drm/amd/display/dc/dce/dce_clock_source.o:(get_pixel_clk_frequency_100hz) in archive drivers/built-in.a
>
>
ld.lld: error: undefined symbol: __aeabi_ldivmod
>
>>> referenced by dc_resource.c
>
>>> gpu/drm/amd/display/dc/core/dc_resource.o:(resource_are_vblanks_synchronizable) in archive drivers/built-in.a
>
>>> referenced by dc_resource.c
>
>>> gpu/drm/amd/display/dc/core/dc_resource.o:(resource_are_vblanks_synchronizable) in archive drivers/built-in.a
>
>>> referenced by dc_resource.c
>
>>> gpu/drm/amd/display/dc/core/dc_resource.o:(resource_are_vblanks_synchronizable) in archive drivers/built-in.a
>
>
This is not a fast path, so the use of an explicit div_u64/div_s64
>
seems appropriate.
I found two more instances:
>
>> referenced by dcn20_optc.c
>
>> gpu/drm/amd/display/dc/dcn20/dcn20_optc.o:(optc2_align_vblanks) in archive drivers/built-in.a
>
>> referenced by dcn10_hw_sequencer.c
>
>> gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.o:(reduceSizeAndFraction) in archive drivers/built-in.a
I have patches for both, but will let the randconfig build box keep working
on it over night to see if there are any others. Let me know if you want a
combined patch or one per file once there are no more regressions.
Arnd