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

From: santosh . shilimkar
Date: Thu May 28 2020 - 12:18:46 EST


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.

Regards,
Santosh