Re: [PATCH v3 9/9] ARM: add initial support for Marvell Berlin SoCs

From: Sebastian Hesselbarth
Date: Fri Nov 08 2013 - 03:54:43 EST


On 11/08/2013 01:58 AM, Jisheng Zhang wrote:
On Thu, 7 Nov 2013 13:22:35 -0800
Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> wrote:
On 11/07/2013 05:20 PM, Arnd Bergmann wrote:
On Thursday 07 November 2013, Sebastian Hesselbarth wrote:
Actually, IIRC smp_twd does not compile without SMP set, so the above
should at least be 'HAVE_ARM_TWD if SMP'. If you shrink MULTI_V7 down
to non-SMP cores, you can disable it and it will fail to compile.

If there are UP-systems for which TWD is the best clocksource, we should
probably fix the code to allow that configuration. IIRC there were already
patches recently in this area, maybe it's already solved.

The problems is twd is not mandatory in CA9 UP system, so it may not exist.
However, I got answers from soc people, the BG2CD does configured and enabled
TWD. so we are lucky and can add HAVE_TWD for BG2CD.

Jisheng,

thanks for backing this up. As I said, I tried it with barebox and TWD
is sufficient for a timer there.

Currently, Linux requires SMP for TWD - but as you confirmed, there are
non-SMP systems with TWD. The build errors below are just from a check
for SMP systems, so if we remove that, TWD should be ready for non-SMP.

I'll see, if I can prepare a patch next week and put it on list.

Sebastian

I just tried barebox bootloader to use TWD as timer on berlin2cd and it
perfectly works, i.e. with time related commands I can see the timer
register decreasing. So the timer is available on this UP SoC.

Yep. It is available.


As said before, compiling linux without CONFIG_SMP but with
CONFIG_HAVE_ARM_TWD gives:

warning: (SOC_OMAP5 && ARCH_ROCKCHIP && ARCH_SHMOBILE_MULTI &&
MACH_BERLIN_BG2 && MACH_BERLIN_BG2CD) selects HAVE_ARM_TWD which has
unmet direct dependencies (SMP)

and

arch/arm/kernel/smp_twd.c: In function 'twd_local_timer_of_register':
arch/arm/kernel/smp_twd.c:391: error: 'setup_max_cpus' undeclared (first
use in this function)
arch/arm/kernel/smp_twd.c:391: error: (Each undeclared identifier is
reported only once
arch/arm/kernel/smp_twd.c:391: error: for each function it appears in.)
make[1]: *** [arch/arm/kernel/smp_twd.o] Error 1

I haven't looked deeper into this, but I guess it will not be hard
to make ARM_TWD independent of SMP.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/