RetroArch
Classes | Macros | Typedefs | Enumerations | Functions
arqueue.h File Reference
#include <gctypes.h>
#include <ogc/lwp_queue.h>
#include "aram.h"
Include dependency graph for arqueue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _arq_request
 

Macros

#define ARQ_MRAMTOARAM   AR_MRAMTOARAM
 
#define ARQ_ARAMTOMRAM   AR_ARAMTOMRAM
 
#define ARQ_DEF_CHUNK_SIZE   4096
 
#define ARQ_PRIO_LO   0
 
#define ARQ_PRIO_HI   1
 

Typedefs

typedef struct _arq_request ARQRequest
 
typedef void(* ARQCallback) (ARQRequest *)
 

Enumerations

enum  { ARQ_TASK_READY = 0, ARQ_TASK_RUNNING, ARQ_TASK_FINISHED }
 

Functions

void ARQ_Init ()
 
void ARQ_Reset ()
 
void ARQ_PostRequest (ARQRequest *req, u32 owner, u32 dir, u32 prio, u32 aram_addr, u32 mram_addr, u32 len)
 Enqueue a ARAM DMA transfer request. More...
 
void ARQ_PostRequestAsync (ARQRequest *req, u32 owner, u32 dir, u32 prio, u32 aram_addr, u32 mram_addr, u32 len, ARQCallback cb)
 Enqueue a ARAM DMA transfer request. More...
 
void ARQ_RemoveRequest (ARQRequest *req)
 
void ARQ_SetChunkSize (u32 size)
 
u32 ARQ_GetChunkSize ()
 
void ARQ_FlushQueue ()
 
u32 ARQ_RemoveOwnerRequest (u32 owner)
 

Macro Definition Documentation

◆ ARQ_ARAMTOMRAM

#define ARQ_ARAMTOMRAM   AR_ARAMTOMRAM

◆ ARQ_DEF_CHUNK_SIZE

#define ARQ_DEF_CHUNK_SIZE   4096

◆ ARQ_MRAMTOARAM

#define ARQ_MRAMTOARAM   AR_MRAMTOARAM

◆ ARQ_PRIO_HI

#define ARQ_PRIO_HI   1

◆ ARQ_PRIO_LO

#define ARQ_PRIO_LO   0

Typedef Documentation

◆ ARQCallback

typedef void(* ARQCallback) (ARQRequest *)

◆ ARQRequest

typedef struct _arq_request ARQRequest

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ARQ_TASK_READY 
ARQ_TASK_RUNNING 
ARQ_TASK_FINISHED 

Function Documentation

◆ ARQ_FlushQueue()

void ARQ_FlushQueue ( )
Here is the call graph for this function:

◆ ARQ_GetChunkSize()

u32 ARQ_GetChunkSize ( )

◆ ARQ_Init()

void ARQ_Init ( )
Here is the call graph for this function:

◆ ARQ_PostRequest()

void ARQ_PostRequest ( ARQRequest req,
u32  owner,
u32  dir,
u32  prio,
u32  aram_addr,
u32  mram_addr,
u32  len 
)

Enqueue a ARAM DMA transfer request.

Parameters
[in]reqstructure to hold ARAM DMA request informations.
[in]ownerunique owner id.
[in]dirdirection of ARAM DMA transfer.
[in]priopriority of request.
[in]aram_addrstartaddress of buffer to be pushed onto the queue. NOTE: Must be 32-bytealigned.
[in]mram_addrlength of data to be pushed onto the queue.
[in]lenstartaddress of buffer to be pushed onto the queue. NOTE: Must be 32-bytealigned.
[in]cblength of data to be pushed onto the queue.
Returns
none
Here is the call graph for this function:

◆ ARQ_PostRequestAsync()

void ARQ_PostRequestAsync ( ARQRequest req,
u32  owner,
u32  dir,
u32  prio,
u32  aram_addr,
u32  mram_addr,
u32  len,
ARQCallback  cb 
)

Enqueue a ARAM DMA transfer request.

Parameters
[in]reqstructure to hold ARAM DMA request informations.
[in]ownerunique owner id.
[in]dirdirection of ARAM DMA transfer.
[in]priopriority of request.
[in]aram_addrstartaddress of buffer to be pushed onto the queue. NOTE: Must be 32-bytealigned.
[in]mram_addrlength of data to be pushed onto the queue.
[in]lenstartaddress of buffer to be pushed onto the queue. NOTE: Must be 32-bytealigned.
[in]cblength of data to be pushed onto the queue.
Returns
none
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ARQ_RemoveOwnerRequest()

u32 ARQ_RemoveOwnerRequest ( u32  owner)
Here is the call graph for this function:

◆ ARQ_RemoveRequest()

void ARQ_RemoveRequest ( ARQRequest req)
Here is the call graph for this function:

◆ ARQ_Reset()

void ARQ_Reset ( )

◆ ARQ_SetChunkSize()

void ARQ_SetChunkSize ( u32  size)