summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-05-08 01:12:38 +0100
committerred031000 <rubenru09@aol.com>2020-05-08 01:12:38 +0100
commit4d444cabe0a241afd7d12e565c6a32f866b260bd (patch)
treed3a3270ca2c2f3895378d1681350bc7636ed0c10 /arm9/lib/src
parentdc5e4e927b1f87f69246af218e462bc09c87dda6 (diff)
match OSi_EnterDmaCallback
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/OS_interrupt.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arm9/lib/src/OS_interrupt.c b/arm9/lib/src/OS_interrupt.c
index d45f46cf..f7a6d005 100644
--- a/arm9/lib/src/OS_interrupt.c
+++ b/arm9/lib/src/OS_interrupt.c
@@ -10,6 +10,7 @@
#pragma optimize_for_size on
extern OSThreadQueue OSi_IrqThreadQueue;
+extern OSIrqMask OS_EnableIrqMask(OSIrqMask intr);
ARM_FUNC void OS_InitIrqTable() {
OS_InitThreadQueue(&OSi_IrqThreadQueue);
@@ -67,3 +68,12 @@ ARM_FUNC OSIrqFunction OS_GetIrqFunction(OSIrqMask intrBit) {
} while (i < 0x16);
return 0;
}
+
+ARM_FUNC void OSi_EnterDmaCallback(u32 dmaNo, void (*callback) (void *), void *arg)
+{
+ OSIrqMask mask = 1UL << (dmaNo + 8);
+ OSi_IrqCallbackInfo[dmaNo].func = callback;
+ OSi_IrqCallbackInfo[dmaNo].arg = arg;
+
+ OSi_IrqCallbackInfo[dmaNo].enable = OS_EnableIrqMask(mask) & mask;
+}