PM5358 S/UNI-4x622 Driver Manual
Software Architecture
Proprietary and Confidential to PMC-Sierra, Inc. 20
Document ID: PMC-2010419, Issue 1
Module States
The following is a description of the S/UNI-4x622 module states. See section 4.1 for a detailed
description of the API functions that are used to change the module state.
Start
The driver module has not been initialized. In this state the driver does not hold any RTOS
resources (memory, timers, etc); has no running tasks, and performs no actions.
Idle
The driver module has been initialized successfully. The Module Initialization Vector (MIV) has
been validated, the Module Data Block (MDB) has been allocated and loaded with current data,
the per-device data structures have been allocated, and the RTOS has responded without error to
all the requests sent to it by the driver.
Ready
This is the normal operating state for the driver module. This means that all RTOS resources have
been allocated and the driver is ready for devices to be added. The driver module remains in this
state while devices are in operation.
Device States
The following is a description of the S/UNI-4x622 per-device states. The state that is mentioned
here is the software state as maintained by the driver, and not as maintained inside the device
itself. See section 4.3 for a detailed description of the API functions that are used to change the
per-device state.
Start
The device has not been initialized. In this state the device is unknown by the driver and performs
no actions. There is a separate flow for each device that can be added, and they all start here.
Present
The device has been successfully added. A Device Data Block (DDB) has been associated to the
device and updated with the user context, and a device handle has been given to the USER. In this
state the device performs no actions.
Inactive
In this state the device is configured but all data functions are de-activated including interrupts
and alarms, as well as status and counts functions.
Active
This is the normal operating state for the device. In this state, interrupt servicing or polling is
enabled.