sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
dma.h
Go to the documentation of this file.
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# (c) 2005 Naomi Peori <naomi@peori.ca>
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
16
17#ifndef __DMA_H__
18#define __DMA_H__
19
20#include <tamtypes.h>
21#include <packet2_types.h>
22
23#define DMA_CHANNEL_VIF0 0x00
24#define DMA_CHANNEL_VIF1 0x01
25#define DMA_CHANNEL_GIF 0x02
26#define DMA_CHANNEL_fromIPU 0x03
27#define DMA_CHANNEL_toIPU 0x04
28#define DMA_CHANNEL_fromSIF0 0x05
29#define DMA_CHANNEL_toSIF1 0x06
30#define DMA_CHANNEL_SIF2 0x07
31#define DMA_CHANNEL_fromSPR 0x08
32#define DMA_CHANNEL_toSPR 0x09
33
34#define DMA_FLAG_TRANSFERTAG 0x01
35#define DMA_FLAG_INTERRUPTSAFE 0x02
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41extern int dma_reset(void);
42
44extern int dma_channel_initialize(int channel, void *handler, int flags);
45
47extern void dma_channel_fast_waits(int channel);
48
50extern void dma_wait_fast(void);
51
53extern int dma_channel_wait(int channel, int timeout);
54
62extern void dma_channel_send_packet2(packet2_t *packet2, int channel, u8 flush_cache);
63
65extern int dma_channel_send_chain(int channel, void *data, int qwc, int flags, int spr);
66
68extern int dma_channel_send_chain_ucab(int channel, void *data, int qwc, int flags);
69
71extern int dma_channel_send_normal(int channel, void *data, int qwc, int flags, int spr);
72
74extern int dma_channel_send_normal_ucab(int channel, void *data, int qwc, int flags);
75
77extern int dma_channel_receive_normal(int channel, void *data, int data_size, int flags, int spr);
78
80extern int dma_channel_receive_chain(int channel, void *data, int data_size, int flags, int spr);
81
83extern int dma_channel_shutdown(int channel, int flags);
84
85#ifdef __cplusplus
86}
87#endif
88
89#endif /* __DMA_H__ */
void dma_wait_fast(void)
Definition dma.c:115
int dma_channel_send_normal(int channel, void *data, int qwc, int flags, int spr)
Definition dma.c:241
int dma_channel_receive_normal(int channel, void *data, int data_size, int flags, int spr)
Definition dma.c:328
int dma_channel_wait(int channel, int timeout)
Definition dma.c:131
int dma_channel_initialize(int channel, void *handler, int flags)
Definition dma.c:58
int dma_channel_receive_chain(int channel, void *data, int data_size, int flags, int spr)
Definition dma.c:299
void dma_channel_send_packet2(packet2_t *packet2, int channel, u8 flush_cache)
Definition dma.c:159
void dma_channel_fast_waits(int channel)
Definition dma.c:108
int dma_channel_send_chain_ucab(int channel, void *data, int qwc, int flags)
Definition dma.c:217
int dma_channel_send_chain(int channel, void *data, int qwc, int flags, int spr)
Definition dma.c:186
int dma_channel_send_normal_ucab(int channel, void *data, int qwc, int flags)
Definition dma.c:270
int dma_channel_shutdown(int channel, int flags)
Definition dma.c:357