Re: [PATCH net 1/2] net: ti: icss-iep: Fix pwidth configuration for perout signal

From: Paolo Abeni
Date: Thu Feb 13 2025 - 06:25:51 EST


On 2/11/25 11:35 AM, Meghana Malladi wrote:
> @@ -419,8 +426,9 @@ static int icss_iep_perout_enable_hw(struct icss_iep *iep,
> regmap_write(iep->map, ICSS_IEP_CMP1_REG0, lower_32_bits(cmp));
> if (iep->plat_data->flags & ICSS_IEP_64BIT_COUNTER_SUPPORT)
> regmap_write(iep->map, ICSS_IEP_CMP1_REG1, upper_32_bits(cmp));
> - /* Configure SYNC, 1ms pulse width */
> - regmap_write(iep->map, ICSS_IEP_SYNC_PWIDTH_REG, 1000000);
> + /* Configure SYNC, based on req on width */
> + regmap_write(iep->map, ICSS_IEP_SYNC_PWIDTH_REG,
> + (u32)(ns_width / iep->def_inc));

This causes build errors on 32bits:

ERROR: modpost: "__udivdi3" [drivers/net/ethernet/ti/icssg/icss_iep.ko]
undefined!
make[3]: *** [../scripts/Makefile.modpost:147: Module.symvers] Error 1
make[2]: *** [/home/nipa/net/wt-0/Makefile:1944: modpost] Error 2
make[1]: *** [/home/nipa/net/wt-0/Makefile:251: __sub-make] Error 2
make: *** [Makefile:251: __sub-make] Error 2
ERROR: modpost: "__udivdi3" [drivers/net/ethernet/ti/icssg/icss_iep.ko]

You should use div_u64()

/P