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

Simon Horman horms at kernel.org
Sun Feb 16 08:11:58 PST 2025


On Fri, Feb 14, 2025 at 11:35:07AM +0530, Malladi, Meghana wrote:
> 
> 
> On 2/13/2025 4:53 PM, Paolo Abeni wrote:
> > 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 &
> > ZjQcmQRYFpfptBannerStart
> > This message was sent from outside of Texas Instruments.
> > Do not click links or open attachments unless you recognize the source
> > of this email and know the content is safe.
> > Report Suspicious
> > <https://us-phishalarm-ewt.proofpoint.com/EWT/v1/G3vK! updqdzavl0dbisXOnfkDHxHqGlQUHEro3tgnljLa7x4DRPBIRKu8Nqm3bW1LeMtXFyqz6yM7_tLlrvUmslKj9m_IL0hUlNU$>
> > ZjQcmQRYFpfptBannerEnd
> > 
> > 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()
> > 
> 
> I see, thanks.
> Can you tell me how can I reproduce this on my end for 32 bits.
> Will fix this in v2.

Hi Meghana,

FWIIW, I was able to reproduce this problem running the following
on an x86_64 system:

ARCH=i386 make tinyconfig

echo CONFIG_COMPILE_TEST=y >> .config
echo CONFIG_PCI=y >> .config
echo CONFIG_SOC_TI=y >> .config
echo CONFIG_TI_PRUSS=y >> .config
echo CONFIG_NET=y >> .config
echo CONFIG_NETDEVICES=y >> .config

yes "" | ARCH=i386 make oldconfig

ARCH=i386 make -j$(nproc)



More information about the linux-arm-kernel mailing list