linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] arm: remove unused code in delay.S
@ 2009-09-18 16:46 Steve Chen
  2009-09-18 18:39 ` Jean-Christophe PLAGNIOL-VILLARD
  2009-09-18 19:09 ` Uwe Kleine-König
  0 siblings, 2 replies; 13+ messages in thread
From: Steve Chen @ 2009-09-18 16:46 UTC (permalink / raw)
  To: linux-arm-kernel

Document #if 0 code block in delay.S and make it selectable for compile.

Signed-off-by: Steve Chen <schen@mvista.com>

---
 arch/arm/Kconfig     |   31 +++++++++++++++++++++++++++++++
 arch/arm/lib/delay.S |    2 +-
 2 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index aef63c8..f44cb70 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -813,6 +813,37 @@ config ARM_ERRATA_460075
 	  ACTLR register. Note that setting specific bits in the ACTLR
register
 	  may not be available in non-secure mode.
 
+config OLD_CPU_DELAY
+	depends on CPU_32v3 || CPU_32v4 || CPU_32v4T
+	bool "Different delay() code for some older CPUs"
+	def_bool n
+	help
+	  Enable this if observing longer than expected delays.  This code
+	  improves delay accuracy for some CPUs.  However, it can also cause
+	  delay duration to be too short for others which leads to stability
+	  issues.
+
+	  In other words, do not enable unless you can guarantee that the
+	  processor (or ALL of the processors if building a generic kernel)
+	  delays for at least the time requested after enabling.
+
+	  ARM610 and ARM710 are known to benefit from enabling this option.
+	  It should not be enabled for StrongARMs, because it is known
+	  to produce too short delays on those.
+
+	  Lastly, below are 2 lists.  The first list contains the processors
+	  that would benefit from enabling this flag, and the second list
+	  contains processor that are known to have issues.  Please note that
+	  both lists are by no means complete.  Entries are expected to be
+	  added and refined.  If you like to update the list, please send a
+	  patch to Linux ARM mailing list.
+
+	  CPUs should enable this flag
+		ARM610
+		ARM710
+
+	  CPUs should disable this flag
+		StrongARM
 endmenu
 
 source "arch/arm/common/Kconfig"
diff --git a/arch/arm/lib/delay.S b/arch/arm/lib/delay.S
index 8d6a876..67e679b 100644
--- a/arch/arm/lib/delay.S
+++ b/arch/arm/lib/delay.S
@@ -42,7 +42,7 @@ ENTRY(__const_udelay)				@ 0 <= r0 <= 0x7fffff06
 @ Delay routine
 ENTRY(__delay)
 		subs	r0, r0, #1
-#if 0
+#ifdef CONFIG_OLD_CPU_DELAY
 		movls	pc, lr
 		subs	r0, r0, #1
 		movls	pc, lr

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2009-09-22 10:47 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-18 16:46 [PATCH v3] arm: remove unused code in delay.S Steve Chen
2009-09-18 18:39 ` Jean-Christophe PLAGNIOL-VILLARD
2009-09-18 19:09 ` Uwe Kleine-König
2009-09-18 20:25   ` Steve Chen
2009-09-18 20:53     ` Jean-Christophe PLAGNIOL-VILLARD
2009-09-18 21:51       ` Steve Chen
2009-09-19 12:55       ` [PATCH v4] " Steve Chen
2009-09-19 13:47         ` Uwe Kleine-König
2009-09-19 14:09           ` Steve Chen
2009-09-20  0:16             ` Felipe Contreras
2009-09-20 13:18               ` Steve Chen
2009-09-19 14:04         ` [PATCH v4.1] " Steve Chen
2009-09-22 10:47           ` [PATCH v5] " Steve Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).