32
|
1 #ifndef INCLUDED_CELL_DMA_MANAGER
|
|
2 #define INCLUDED_CELL_DMA_MANAGER
|
|
3
|
307
|
4 #include "base.h"
|
611
|
5 #include "types.h"
|
307
|
6 #include "DmaManager.h"
|
32
|
7
|
88
|
8 #include <spu_mfcio.h>
|
|
9
|
242
|
10 #define SPU_PROFILE 1
|
|
11
|
32
|
12 class CellDmaManager : public DmaManager {
|
|
13 public:
|
109
|
14 BASE_NEW_DELETE(CellDmaManager);
|
|
15
|
88
|
16 typedef struct dma_list {
|
364
|
17 memaddr addr;
|
88
|
18 uint32 size;
|
|
19 } DmaList, *DmaListPtr;
|
|
20
|
|
21 /* variables */
|
275
|
22 unsigned int wait_time, busy_time;
|
|
23 unsigned long long global_busy_time, global_wait_time;
|
88
|
24
|
32
|
25 /* functions */
|
364
|
26 void dma_load(void *buf, memaddr addr, uint32 size, uint32 mask);
|
365
|
27 void dma_store(void *buf, memaddr addr, uint32 size, uint32 mask);
|
88
|
28 void dma_wait(uint32 mask) ;
|
242
|
29 void start_dmawait_profile();
|
|
30 void end_dmawait_profile();
|
255
|
31 void show_dma_wait(int cpu);
|
88
|
32
|
611
|
33 void mail_write(memaddr data);
|
|
34 memaddr mail_read();
|
109
|
35 void dma_loadList(ListDataPtr list, void *buff, uint32 mask);
|
|
36 void dma_storeList(ListDataPtr, void *buff, uint32 mask);
|
32
|
37 };
|
|
38
|
|
39 #endif
|