Subject: [PATCH-OMAP3] OMAP3: Fix typo and cp_delay

From: Dirk Behme <[EMAIL PROTECTED]>

Fix typo and cp_delay. Requested by Wolfgang Denk.

Signed-off-by: Dirk Behme <[EMAIL PROTECTED]>

---

Regarding cp_delay there was the comment:

-- cut --
>+static void cp_delay(void)
>+{
>+      volatile int i;
>+
>+      /* Many OMAP regs need at least 2 nops */
>+      for (i = 0; i < 100; i++) ;

There is not much reason for the compiler not to optimize this code away.
-- cut --

Please note that most of ARM code uses *this* cp_delay() implementation. If I 
understood correctly at IRC, Scott Wood made some tests and volatile prevents 
gcc from optimizing loop away.

 cpu/arm_cortexa8/cpu.c   |    5 ++---
 cpu/arm_cortexa8/start.S |    2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

Index: u-boot-arm/cpu/arm_cortexa8/start.S
===================================================================
--- u-boot-arm.orig/cpu/arm_cortexa8/start.S
+++ u-boot-arm/cpu/arm_cortexa8/start.S
@@ -394,7 +394,7 @@ irq:
        .align  5
 fiq:
        get_fiq_stack
-       /* someone ought to write a more effiction fiq_save_user_regs */
+       /* someone ought to write a more effective fiq_save_user_regs */
        irq_save_user_regs
        bl      do_fiq
        irq_restore_user_regs
Index: u-boot-arm/cpu/arm_cortexa8/cpu.c
===================================================================
--- u-boot-arm.orig/cpu/arm_cortexa8/cpu.c
+++ u-boot-arm/cpu/arm_cortexa8/cpu.c
@@ -68,10 +68,9 @@ static void write_p15_c1(unsigned long v
 
 static void cp_delay(void)
 {
-       volatile int i;
-
        /* Many OMAP regs need at least 2 nops */
-       for (i = 0; i < 100; i++) ;
+       asm("nop");
+       asm("nop");
 }
 
 /* See also ARM Ref. Man. */
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to