PM5358 S/UNI-4x622 Driver Manual
Software Architecture
Proprietary and Confidential to PMC-Sierra, Inc. 21
Document ID: PMC-2010419, Issue 1
2.4 Processing Flows
This section describes the main processing flows of the S/UNI-4x622 driver components.
The flow diagrams presented here illustrate the sequence of operations that take place for
different driver functions. The diagrams also serve as a guide to the application programmer by
illustrating the sequence in which the application must invoke the driver API.
Module Management
The following diagram illustrates the typical function call sequences that occur when initializing
or shutting down the S/UNI-4x622 driver module.
Figure 4: Module Management Flow Diagram
De-register an initialization profile previously registered with the driver.
Performs Module level shutdown of the driver. This involves deleting all
devices currently installed and de-allocating all timers and semaphores as
well as removing the ISR handler and DPR task.
Performs module level shutdown of the driver. De-allocates all the driver's
memory.
Perform all device level functions here (add, init, activate, de-activate,
reset, delete,...)
Register an initialization profile. This allows the user to store pre-defined
parameter vectors that are validated ahead of time. When the device-
initialization function is invoked only a profile number need to be passed.
This method simplifies and expedites the above operations.
Performs module level startup of the driver. This involves allocating RTOS
resources such as semaphores and timers and installing the ISR handler
and DPR task.
Performs module level initialization of the driver. Validates the Module
Initialization Vector (MIV). Allocates memory for the MDB and all its
components (i.e. all the memory needed by the driver) and then initializes
the contents of the MDB with the validated MIV.
suni4x622AddInitProfile
suni4x622ModuleStart
suni4x622ModuleOpen
suni4x622DeleteInitProfile
suni4x622ModuleStop
suni4x622ModuleClose
END
START
Device Management
The following figure shows the typical function call sequences that the driver uses to add,
initialize, re-initialize, and delete the S/UNI-4x622 device.