[linux-yocto] [PATCH 32/78] arm/mach-axxia: Wait a bit more gently when in the pen.

Paul Butler butler.paul at gmail.com
Tue Nov 19 20:23:08 PST 2013


From: John Jacques <john.jacques at lsi.com>

Signed-off-by: John Jacques <john.jacques at lsi.com>
---
 arch/arm/mach-axxia/headsmp.S | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-axxia/headsmp.S b/arch/arm/mach-axxia/headsmp.S
index 6a36f38..f467cc5 100644
--- a/arch/arm/mach-axxia/headsmp.S
+++ b/arch/arm/mach-axxia/headsmp.S
@@ -28,7 +28,35 @@ ENTRY(axxia_secondary_startup)
 	sub	r4, r4, r5
 	add	r6, r6, r4
 pen:	ldr	r7, [r6]
-	cmp	r7, r0
+	/*
+	 * It seems that just looping over read/compare kills starves
+	 * ethernet, this will happen if we start the kernel with
+	 * maxcpus=X where X < 16. Which we really want in order to
+	 * isolate cores.
+	 *
+	 * FIXME: We should really use wfi or wfe here
+	 */
+	mov	r4, #0x7000
+__delay:
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	nop
+	subs	r4,r4,#1
+	bne	__delay
+ 	cmp	r7, r0
 	bne	pen
 
 	/*
-- 
1.8.4.3



More information about the linux-yocto mailing list