summaryrefslogtreecommitdiff
path: root/arm9/lib/include/GX_dma.h
diff options
context:
space:
mode:
authorCleverking2003 <30466983+Cleverking2003@users.noreply.github.com>2020-05-19 20:47:26 +0300
committerGitHub <noreply@github.com>2020-05-19 20:47:26 +0300
commitf498725e917a761e42a6f93efdf239dde46dc245 (patch)
treedc335eeb815b2236516ea1c405cb1d26b0890f76 /arm9/lib/include/GX_dma.h
parentf0f5bcb1ff206f093958f523e2fc8892383e3028 (diff)
parent07c521e0fb29afac447846c52379fe6874c08a3e (diff)
Merge branch 'master' into master
Diffstat (limited to 'arm9/lib/include/GX_dma.h')
-rw-r--r--arm9/lib/include/GX_dma.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/arm9/lib/include/GX_dma.h b/arm9/lib/include/GX_dma.h
new file mode 100644
index 00000000..98f6a4a2
--- /dev/null
+++ b/arm9/lib/include/GX_dma.h
@@ -0,0 +1,53 @@
+#ifndef GUARD_GX_DMA_H
+#define GUARD_GX_DMA_H
+
+#define GX_DMA_NOT_USE -1
+#define GX_CPU_FASTER32_SIZE 0x30
+#define GX_CPU_FASTER16_SIZE 0x1C
+
+static inline void GXi_DmaCopy32(u32 dmaNo, const void *src, void *dest, u32 size)
+{
+ if (dmaNo != GX_DMA_NOT_USE && size > GX_CPU_FASTER32_SIZE)
+ {
+ MI_DmaCopy32(dmaNo, src, dest, size);
+ }
+ else
+ {
+ MIi_CpuCopy32(src, dest, size);
+ }
+}
+
+static inline void GXi_DmaCopy16(u32 dmaNo, const void *src, void *dest, u32 size)
+{
+ if (dmaNo != GX_DMA_NOT_USE && size > GX_CPU_FASTER16_SIZE)
+ {
+ MI_DmaCopy16(dmaNo, src, dest, size);
+ }
+ else
+ {
+ MIi_CpuCopy16(src, dest, size);
+ }
+}
+
+static inline void GXi_DmaCopy32Async(u32 dmaNo, const void *src, void *dest, u32 size,
+ MIDmaCallback callback, void *arg)
+{
+ if (dmaNo != GX_DMA_NOT_USE)
+ {
+ MI_DmaCopy32Async(dmaNo, src, dest, size, callback, arg);
+ }
+ else
+ {
+ MIi_CpuCopy32(src, dest, size);
+ }
+}
+
+static inline void GXi_WaitDma(u32 dmaNo)
+{
+ if (dmaNo != GX_DMA_NOT_USE)
+ {
+ MI_WaitDma(dmaNo);
+ }
+}
+
+#endif //GUARD_GX_DMA_H