FreeBSD/sys/dev/isci/scil/scic_sds_controller.c
/**
 * This method implements the actions taken by the SCIC_SDS_CONTROLLER on
 * entry to the SCI_BASE_CONTROLLER_STATE_RESET.
 *    - Set the state handlers to the controllers reset state.
 *
 * @param[in] object This is the SCI_BASE_OBJECT which is cast to a
 *       SCIC_SDS_CONTROLLER object.
 *
 * @return none
 */
This method implements the actions taken by the SCIC_SDS_CONTROLLER on
entry to the SCI_BASE_CONTROLLER_STATE_RESET.
- Set the state handlers to the controllers reset state.

@param[in] object This is the SCI_BASE_OBJECT which is cast to a
SCIC_SDS_CONTROLLER object.

@return none
This method implements the actions taken by the SCIC_SDS_CONTROLLER on entry to the SCI_BASE_CONTROLLER_STATE_RESET . - Set the state handlers to the controllers reset state . @param [ in ] object This is the SCI_BASE_OBJECT which is cast to a SCIC_SDS_CONTROLLER object . @return none
static
void scic_sds_controller_reset_state_enter(
   SCI_BASE_OBJECT_T *object
)
{
   U8 index;
   SCIC_SDS_CONTROLLER_T *this_controller;
   this_controller= (SCIC_SDS_CONTROLLER_T *)object;
   scic_sds_controller_set_base_state_handlers(
      this_controller, SCI_BASE_CONTROLLER_STATE_RESET);
   scic_sds_port_configuration_agent_construct(&this_controller->port_agent);
   for (index = 0; index < (SCI_MAX_PORTS + 1); index++)
   {
      scic_sds_port_construct(
         &this_controller->port_table[index],
         (index == SCI_MAX_PORTS) ? SCIC_SDS_DUMMY_PORT : index,
         this_controller
      );
   }
   for (index = 0; index < SCI_MAX_PHYS; index++)
   {
      scic_sds_phy_construct(
         &this_controller->phy_table[index],
         &this_controller->port_table[SCI_MAX_PORTS],
         index
      );
   }
   this_controller->invalid_phy_mask = 0;
   this_controller->completion_event_entries      = SCU_EVENT_COUNT;
   this_controller->completion_queue_entries      = SCU_COMPLETION_QUEUE_COUNT;
   this_controller->remote_node_entries           = SCI_MAX_REMOTE_DEVICES;
   this_controller->logical_port_entries          = SCI_MAX_PORTS;
   this_controller->task_context_entries          = SCU_IO_REQUEST_COUNT;
   this_controller->uf_control.buffers.count      = SCU_UNSOLICITED_FRAME_COUNT;
   this_controller->uf_control.address_table.count= SCU_UNSOLICITED_FRAME_COUNT;
   scic_sds_controller_set_default_config_parameters(this_controller);
}
static void scic_sds_controller_reset_state_enter ( SCI_BASE_OBJECT_T * object ) { U8 index ; SCIC_SDS_CONTROLLER_T * this_controller ; this_controller = ( SCIC_SDS_CONTROLLER_T * ) object ; scic_sds_controller_set_base_state_handlers ( this_controller , SCI_BASE_CONTROLLER_STATE_RESET ) ; scic_sds_port_configuration_agent_construct ( & this_controller -> port_agent ) ; for ( index = 0 ; index < ( SCI_MAX_PORTS + 1 ) ; index ++ ) { scic_sds_port_construct ( & this_controller -> port_table [ index ] , ( index == SCI_MAX_PORTS ) ? SCIC_SDS_DUMMY_PORT : index , this_controller ) ; } for ( index = 0 ; index < SCI_MAX_PHYS ; index ++ ) { scic_sds_phy_construct ( & this_controller -> phy_table [ index ] , & this_controller -> port_table [ SCI_MAX_PORTS ] , index ) ; } this_controller -> invalid_phy_mask = 0 ; this_controller -> completion_event_entries = SCU_EVENT_COUNT ; this_controller -> completion_queue_entries = SCU_COMPLETION_QUEUE_COUNT ; this_controller -> remote_node_entries = SCI_MAX_REMOTE_DEVICES ; this_controller -> logical_port_entries = SCI_MAX_PORTS ; this_controller -> task_context_entries = SCU_IO_REQUEST_COUNT ; this_controller -> uf_control . buffers . count = SCU_UNSOLICITED_FRAME_COUNT ; this_controller -> uf_control . address_table . count = SCU_UNSOLICITED_FRAME_COUNT ; scic_sds_controller_set_default_config_parameters ( this_controller ) ; }
This method implements the actions taken by the SCIC_SDS_CONTROLLER on
 entry to the SCI_BASE_CONTROLLER_STATE_RESET.
This method implements the actions taken by the SCIC_SDS_CONTROLLER on entry to the SCI_BASE_CONTROLLER_STATE_RESET .
// Construct the ports for this controller // Construct the phys for this controller // Add all the PHYs to the dummy port // Set the default maximum values // Initialize the User and OEM parameters to default values.