summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Panzlaff <michel@pa-bu.de>2021-06-15 23:11:21 +0200
committerMichael Panzlaff <michel@pa-bu.de>2021-06-15 23:11:21 +0200
commit8a227b0e91fbe11baa8cd91a7e9c3fec0fe6b273 (patch)
tree6b6f0a86104bdd077261fa3ae1e4b85a4984bb92
parent0ab4cab877f45833fd5f17199879ad1ca4cf92df (diff)
fix atomic dma setting
-rw-r--r--Implementing-ipatix's-High-Quality-Audio-Mixer.md9
1 files changed, 6 insertions, 3 deletions
diff --git a/Implementing-ipatix's-High-Quality-Audio-Mixer.md b/Implementing-ipatix's-High-Quality-Audio-Mixer.md
index 8dc35cc..4d710ca 100644
--- a/Implementing-ipatix's-High-Quality-Audio-Mixer.md
+++ b/Implementing-ipatix's-High-Quality-Audio-Mixer.md
@@ -108,9 +108,12 @@ We can fix this very easily by using the `STMIA` instruction for DMA register wr
- dmaRegs[1] = (vu32)(dest); \
- dmaRegs[2] = (vu32)(control); \
- dmaRegs[2]; \
-+ register u32 r_src asm("r0") = (u32)src; \
-+ register u32 r_dst asm("r1") = (u32)dest; \
-+ register u32 r_ctl asm("r2") = (u32)control; \
++ u32 eval_src = (u32)(src); \
++ u32 eval_dst = (u32)(dest); \
++ u32 eval_ctl = (u32)(control); \
++ register u32 r_src asm("r0") = eval_src; \
++ register u32 r_dst asm("r1") = eval_dst; \
++ register u32 r_ctl asm("r2") = eval_ctl; \
+ asm volatile("stmia %0!, {%1, %2, %3}" : "+l" (dmaRegs) : "l" (r_src), "l" (r_dst), "l" (r_ctl) : "memory"); \
}
```