Re: [PATCH] ARM: omap2: drop broken broadcast timer hack

From: Arnd Bergmann
Date: Thu May 28 2020 - 16:34:16 EST


On Thu, May 28, 2020 at 6:18 PM <santosh.shilimkar@xxxxxxxxxx> wrote:
> On 5/28/20 8:57 AM, Tony Lindgren wrote:
> > * Tony Lindgren <tony@xxxxxxxxxxx> [200528 13:51]:
> >> * Tony Lindgren <tony@xxxxxxxxxxx> [200528 13:47]:
> >>> * Arnd Bergmann <arnd@xxxxxxxx> [200528 09:20]:
> >>>> The OMAP4 timer code had a special hack for using the broadcast timer
> >>>> without SMP. Since the dmtimer is now gone, this also needs to be dropped
> >>>> to avoid a link failure for non-SMP AM43xx configurations:
> >>>>
> >>>> kernel/time/tick-broadcast.o: in function `tick_device_uses_broadcast':
> >>>> tick-broadcast.c:(.text+0x130): undefined reference to `tick_broadcast'
> >>>
> >>> Hmm this sounds like a regression though. Isn't this needed for using
> >>> the ARM local timers on non-SMP SoC, so a separate timer from dmtimer?
> >>>
> >>> I've probably removed something accidentally to cause this.
> >>
> >> Sounds like arch/arm/mach-omap2/Makefile change needs to be removed
> >> to always still build in timer.o. And probably timer.c needs back
> >> the ifdef for CONFIG_SOC_HAS_REALTIME_COUNTER.
> >>
> >> I'll take a look today.
> >
> > I've sent a patch along those lines as:
> >
> > [PATCH] ARM: OMAP2+: Fix regression for using local timer on non-SMP SoCs
> >
> > A link for the patch at [0] below.
> >
> CPU local timers not being in always ON power domain use to be the
> reason on early version of the SOCs but later SOC moved the CPU local
> timer also in always on domain. Probably AM43xx does loose local timer
> on CPU PD in low power so yes broadcast would be needed with dmtimer
> help.
>
> >
> > [0] https://lore.kernel.org/linux-omap/20200528155453.8585-1-tony@xxxxxxxxxxx/T/#u
> >
> This should restore it.

Should I apply the fix directly to the arm/soc branch that has the
other changes then?

Arnd