From: 黄涛 Date: Wed, 29 Aug 2012 11:51:33 +0000 (+0800) Subject: rk30: sram: fix loop use Thumb instruction set X-Git-Tag: firefly_0821_release~8776 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fef9586786c075fcd786626a228c2988e453f589;p=firefly-linux-kernel-4.4.55.git rk30: sram: fix loop use Thumb instruction set --- diff --git a/arch/arm/mach-rk30/include/mach/sram.h b/arch/arm/mach-rk30/include/mach/sram.h index eba76bccf64d..4dec061dfeca 100644 --- a/arch/arm/mach-rk30/include/mach/sram.h +++ b/arch/arm/mach-rk30/include/mach/sram.h @@ -4,7 +4,7 @@ #include #define SRAM_LOOPS_PER_USEC 24 -#define SRAM_LOOP(loops) do { unsigned int i = (loops); if (i < 7) i = 7; barrier(); while (--i) barrier(); } while (0) +#define SRAM_LOOP(loops) do { unsigned int i = (loops); if (i < 7) i = 7; barrier(); asm volatile(".align 4; 1: subs %0, %0, #1; bne 1b;" : "+r" (i)); } while (0) /* delay on slow mode */ #define sram_udelay(usecs) SRAM_LOOP((usecs)*SRAM_LOOPS_PER_USEC) /* delay on deep slow mode */