PM5358 S/UNI-4x622 Driver Manual

Software Architecture

2.4Processing 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

START

suni4x622ModuleOpen

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.

suni4x622ModuleStart

suni4x622AddInitProfile

suni4x622DeleteInitProfile

suni4x622ModuleStop

suni4x622ModuleClose

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.

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.

Perform all device level functions here (add, init, activate, de-activate, reset, delete,...)

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.

END

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.

Proprietary and Confidential to PMC-Sierra, Inc.

21

Document ID: PMC-2010419, Issue 1

 

Page 21
Image 21
PMC-Sierra PM5358 S/UNI 4x622 manual Processing Flows, Module Management, Device Management