PM5358 S/UNI-4x622 Driver Manual
Hardware Interface
Proprietary and Confidential to PMC-Sierra, Inc. 110
Document ID: PMC-2010419, Issue 1
Failure = <any other value>
Pseudocode
Begin
install
sysSuni4x622ISRHandler in processor’s interrupt vector table
End
ISR Handler: sysSuni4x622ISRHandler
This routine is invoked when one or more S/UNI-4x622 devices raise the interrupt line to the
microprocessor. This routine invokes the driver-provided routine,
suni4x622ISR, for each
device registered with the driver.
Format
#define sysSuni4x622ISRHandler(intId)
Prototype
Void sysSuni4x622ISRHandler(UINT4 intId)
Inputs
intId : interrupt identifier
Outputs
None
Returns
None
Pseudocode
Begin
for each device registered with the driver
if ISR mode == ISR_MODE call
suni4x622ISR
if returned ISV buffer is not NULL
send ISV buffer to the DPR
End
DPR Task: sysSuni4x622DPRTask
This routine is installed as a separate task within the RTOS. It runs periodically and retrieves the
interrupt status information sent to it by
suni4x622ISR and then invokes suni4x622DPR for
the appropriate device.
Format
#define sysSuni4x622DPRTask()
Prototype
Void sysSuni4x622DPRTask(void)
Inputs
None
Outputs
None
Returns
None
Pseudocode
Begin
do
wait for an ISV buffer (sent by
suni4x622ISR)
call
suni4x622DPR with that ISV
loop forever