On Thu, Feb 25, 2021 at 3:33 PM Arnd Bergmann arnd@kernel.org wrote:
From: Arnd Bergmann arnd@arndb.de
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