diff options
author | red031000 <rubenru09@aol.com> | 2020-05-08 01:12:38 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-05-08 01:12:38 +0100 |
commit | 4d444cabe0a241afd7d12e565c6a32f866b260bd (patch) | |
tree | d3a3270ca2c2f3895378d1681350bc7636ed0c10 /arm9/lib/src | |
parent | dc5e4e927b1f87f69246af218e462bc09c87dda6 (diff) |
match OSi_EnterDmaCallback
Diffstat (limited to 'arm9/lib/src')
-rw-r--r-- | arm9/lib/src/OS_interrupt.c | 10 |
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; +} |