summaryrefslogtreecommitdiff
path: root/tmk_core/common/wait.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/common/wait.h')
-rw-r--r--tmk_core/common/wait.h89
1 files changed, 58 insertions, 31 deletions
diff --git a/tmk_core/common/wait.h b/tmk_core/common/wait.h
index 0b3fd755a9..28224fe3aa 100644
--- a/tmk_core/common/wait.h
+++ b/tmk_core/common/wait.h
@@ -15,44 +15,71 @@ extern "C" {
# define CLOCK_DELAY_NOP8 "nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
-__attribute__((always_inline))
-static inline void wait_cpuclock_allnop(unsigned int n) { /* n: 1..135 */
+__attribute__((always_inline)) static inline void wait_cpuclock_allnop(unsigned int n) { /* n: 1..135 */
/* The argument n must be a constant expression.
* That way, compiler optimization will remove unnecessary code. */
- if (n < 1) { return; }
+ if (n < 1) {
+ return;
+ }
if (n > 8) {
- unsigned int n8 = n/8;
- n = n - n8*8;
+ unsigned int n8 = n / 8;
+ n = n - n8 * 8;
switch (n8) {
- case 16: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 15: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 14: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 13: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 12: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 11: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 10: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 9: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 8: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 7: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 6: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 5: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 4: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 3: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 2: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 1: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 0: break;
+ case 16:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 15:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 14:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 13:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 12:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 11:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 10:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 9:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 8:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 7:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 6:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 5:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 4:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 3:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 2:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 1:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 0:
+ break;
}
}
switch (n) {
- case 8: asm volatile ("nop"::: "memory");
- case 7: asm volatile ("nop"::: "memory");
- case 6: asm volatile ("nop"::: "memory");
- case 5: asm volatile ("nop"::: "memory");
- case 4: asm volatile ("nop"::: "memory");
- case 3: asm volatile ("nop"::: "memory");
- case 2: asm volatile ("nop"::: "memory");
- case 1: asm volatile ("nop"::: "memory");
- case 0: break;
+ case 8:
+ asm volatile("nop" ::: "memory");
+ case 7:
+ asm volatile("nop" ::: "memory");
+ case 6:
+ asm volatile("nop" ::: "memory");
+ case 5:
+ asm volatile("nop" ::: "memory");
+ case 4:
+ asm volatile("nop" ::: "memory");
+ case 3:
+ asm volatile("nop" ::: "memory");
+ case 2:
+ asm volatile("nop" ::: "memory");
+ case 1:
+ asm volatile("nop" ::: "memory");
+ case 0:
+ break;
}
}
#endif