PM5358 S/UNI-4x622 Driver Manual
Hardware Interface
Proprietary and Confidential to PMC-Sierra, Inc. 109
Document ID: PMC-2010419, Issue 1

Polling a Bit: sysSuni4x622PollBit

This function simply polls a register masked data until it is zero or times out.
Format #define sysSuni4x622PollBit (base, offset, mask)
Prototype INT4 sysSuni4x622PollBit (void *base, UINT2
offset, UINT1 mask)
Inputs base : base address of device being accessed
offset : offset to the memory location as it
appears in the hardware data-sheet.
mask : mask to apply to byte read
Outputs None
Returns Success = 0
Failure = <any other value>

5.2 System-Specific Interrupt Servicing

The porting of interrupt servicing routines and tasks across platforms is a complex task. There are
many different implementations of these hardware specific functions. In this driver, the user is
responsible for:
Writing an interrupt handler (sysSuni4x622ISRHandler) that will be installed in the
interrupt vec tor table of the system processor. Th is hand ler sha ll call suni4x622ISR for
each device that has interrupt servicing enabled to perform the Interrupt-Service Routine
(ISR) related activity required by each device
Writing the routine that installs the ISR handler in the vector table of the system processor
and spawns the DPR task (sysSuni4x622ISRHandlerInstall)
Writing the routine that removes the ISR Handler from the vector table of the system
processor and deletes/suspends the DPR task (sysSuni4x622ISRHandlerRemove)

Installing the ISR Handler: sysSuni4x622ISRHandlerInstall

This function installs the USER-supplied Interrupt-Service Routine (ISR),
sysSuni4x622ISRHandler, into the processor’s interrupt vector table.
Format #define sysSuni4x622ISRHandlerInstall()
Prototype INT4 sysSuni4x622ISRHandlerInstall(void)
Inputs None
Outputs None
Returns Success = 0