dsp.h File Reference

DSP subsystem. More...

#include <gctypes.h>

Classes

struct  _dsp_task

Defines

#define DSPTASK_INIT   0
#define DSPTASK_RUN   1
#define DSPTASK_YIELD   2
#define DSPTASK_DONE   3
#define DSPTASK_CLEARALL   0x00000000
#define DSPTASK_ATTACH   0x00000001
#define DSPTASK_CANCEL   0x00000002

Typedefs

typedef _dsp_task dsptask_t
 forward typdef to struct _dsp_task. This struture holds certain DSP task information for execution.
typedef void(*) DSPTaskCallback (dsptask_t *task)
 function pointer typedef for the user's DSP task callbacks
typedef void(*) DSPCallback (void)
 function pointer typedef for the user's DSP interrupt callback

Functions

void DSP_Init ()
 Initialize DSP subsystem.
u32 DSP_CheckMailTo ()
 Check if mail was sent to DSP.
u32 DSP_CheckMailFrom ()
 Check for mail from DSP.
u32 DSP_ReadMailFrom ()
 Read mail from DSP.
void DSP_AssertInt ()
 Asserts the processor interface interrupt.
void DSP_SendMailTo (u32 mail)
 Send mail to DSP.
u32 DSP_ReadCPUtoDSP ()
 Read back CPU->DSP mailbox.
dsptask_tDSP_AddTask (dsptask_t *task)
 Add a DSP task to the tasklist and start executing if necessary.
void DSP_Halt ()
void DSP_Unhalt ()
DSPCallback DSP_RegisterCallback (DSPCallback usr_cb)
 Register an user's interrupt callback. This may be used to handle DSP interrupts on its own. By default a system default callback is installed on DSP_Init().


Detailed Description

DSP subsystem.


Typedef Documentation

struct _dsp_task dsptask_t

forward typdef to struct _dsp_task. This struture holds certain DSP task information for execution.

Parameters:
state current task state set
prio priority of the task
flags currnet task flag(s) set.
init_vec initialization vector. depends on the DSP code to execute.
resume_vec resume vector. depends on the DSP code to execute.
iram_maddr main memory address of i-ram image. NOTE: Has to be aligned on a 32byte boundery!
iram_len size of i-ram image. NOTE: Should be a multiple of 32
iram_addr DSP i-ram address to load the image to.
dram_maddr main memory address of d-ram image. NOTE: Has to be aligned on a 32byte boundery!
dram_len size of d-ram image. NOTE: Should be a multiple of 32
dram_addr DSP d-ram address to load the image to.
init_cb pointer to the user's init callback function. Called durring task initialization.
res_cb pointer to the user's resume callback function. Called when the task should resume.
done_cb pointer to the user's done callback function. Called when the task has finished.
req_cb pointer to the user's request callback function. Used to retrieve data from main application durring execution.
next pointer to the next task in the doubly linked list.
prev pointer to the previous task in the doubly linked list.

void(* DSPTaskCallback)(dsptask_t *task)

function pointer typedef for the user's DSP task callbacks

Parameters:
[in] task pointer to the dsp_task structure.


Function Documentation

dsptask_t * DSP_AddTask ( dsptask_t task  ) 

Add a DSP task to the tasklist and start executing if necessary.

Parameters:
[in] task pointer to a dsptask_t structure which holds all necessary values for DSP task execution.
Returns:
current task

void DSP_AssertInt (  ) 

Asserts the processor interface interrupt.

Returns:
none

u32 DSP_CheckMailFrom (  ) 

Check for mail from DSP.

Returns:
1: has mail, 0: no mail

u32 DSP_CheckMailTo (  ) 

Check if mail was sent to DSP.

Returns:
1: mail sent, 0: mail on route

void DSP_Init (  ) 

Initialize DSP subsystem.

Returns:
none

u32 DSP_ReadCPUtoDSP (  ) 

Read back CPU->DSP mailbox.

Returns:
mail value received

u32 DSP_ReadMailFrom (  ) 

Read mail from DSP.

Returns:
mail value received

DSPCallback DSP_RegisterCallback ( DSPCallback  usr_cb  ) 

Register an user's interrupt callback. This may be used to handle DSP interrupts on its own. By default a system default callback is installed on DSP_Init().

Parameters:
[in] user_cb pointer to the user's interrupt callback function. \
Returns:
pointer to old interrupt callback function.

void DSP_SendMailTo ( u32  mail  ) 

Send mail to DSP.

Parameters:
[in] mail value to send
Returns:
none


Generated on Sun Feb 4 18:14:34 2007 for libOGC by  doxygen 1.4.7