diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-04-10 15:57:08 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-04-10 15:57:08 -0400 |
commit | a205881ce2caa89a1b2690df9bd335201df2aeda (patch) | |
tree | 8e0c2822030d5985475f86c4286ea923ac9bc71d /include/dma3.h | |
parent | b22d3a821d8656d9fb88000ce02e5b885a59e1c3 (diff) |
Comment dma3 methods and create DMA3_*BIT macros
Diffstat (limited to 'include/dma3.h')
-rw-r--r-- | include/dma3.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/include/dma3.h b/include/dma3.h index 381e1e322..266fa0716 100644 --- a/include/dma3.h +++ b/include/dma3.h @@ -6,6 +6,14 @@ // Maximum amount of data we will transfer in one operation #define MAX_DMA_BLOCK_SIZE 0x1000 +#define DMA_REQUEST_COPY32 1 +#define DMA_REQUEST_FILL32 2 +#define DMA_REQUEST_COPY16 3 +#define DMA_REQUEST_FILL16 4 + +#define DMA3_16BIT 0 +#define DMA3_32BIT 1 + #define Dma3CopyLarge_(src, dest, size, bit) \ { \ const void *_src = src; \ @@ -48,10 +56,26 @@ #define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) #define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) +// Cancel pending DMA3 requests void ClearDma3Requests(void); + +// Handle pending DMA3 requests void ProcessDma3Requests(void); + +// Copy size bytes from src to dest. +// mode takes a DMA3_*BIT macro +// Returns the request index s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); + +// Fill size bytes at dest with value. +// mode takes a DMA3_*BIT macro +// Returns the request index s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode); -s16 CheckForSpaceForDma3Request(s16 index); + +// index is the return value from RequestDma3* +// if index = -1, will check if any request is pending +// otherwise, checks if the specified request is pending +// Returns -1 if pending, 0 otherwise +s16 WaitDma3Request(s16 index); #endif // GUARD_DMA3_H |