From mboxrd@z Thu Jan 1 00:00:00 1970 From: nicolas.pitre@linaro.org (Nicolas Pitre) Date: Mon, 10 Jun 2013 16:21:24 -0400 (EDT) Subject: [PATCH 1/2] ARM: vexpress/TC2: basic PM support In-Reply-To: <51B60672.8050809@arm.com> References: <1370587152-4630-1-git-send-email-nicolas.pitre@linaro.org> <1370587152-4630-2-git-send-email-nicolas.pitre@linaro.org> <51B60672.8050809@arm.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, 10 Jun 2013, Sudeep KarkadaNagesha wrote: > On 07/06/13 07:39, Nicolas Pitre wrote: > > This is the MCPM backend for the Virtual Express A15x2 A7x3 CoreTile > > aka TC2. This provides cluster management for SMP secondary boot and > > CPU hotplug. > > > > Signed-off-by: Nicolas Pitre > > --- > > arch/arm/mach-vexpress/Kconfig | 9 ++ > > arch/arm/mach-vexpress/Makefile | 1 + > > arch/arm/mach-vexpress/tc2_pm.c | 243 ++++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 253 insertions(+) > > create mode 100644 arch/arm/mach-vexpress/tc2_pm.c > > > [...] > > +/* > > + * Enable cluster-level coherency, in preparation for turning on the MMU. > > + */ > > +static void __naked tc2_pm_power_up_setup(unsigned int affinity_level) > > +{ > > + asm volatile (" \n" > > +" cmp r0, #1 \n" > > +" beq cci_enable_port_for_self \n" > > +" bx lr "); > You may need Thumb2 if-then(IT) instruction to support longer branch > range here when compiled in THUMB2 mode. > " it eq \n" Yeah, I noticed, and therefore reworked it in my follow-up patch as follows: cmp r0, #1 bxne lr b cci_enable_port_for_self \n" Nicolas