FreeBSD/sys/dev/isci/scil/scic_sds_remote_node_table.c
/**
 * This method will set the remote to available in the remote node allocation
 * table.
 *
 * @param[in out] remote_node_table This is the remote node table in which to
 *       modify the remote node availability.
 * @param[in] remote_node_index This is the remote node index that is being
 *       returned to the table.
 *
 * @return none
 */
This method will set the remote to available in the remote node allocation
table.

@param[in out] remote_node_table This is the remote node table in which to
modify the remote node availability.
@param[in] remote_node_index This is the remote node index that is being
returned to the table.

@return none
This method will set the remote to available in the remote node allocation table . @param [ in out ] remote_node_table This is the remote node table in which to modify the remote node availability . @param [ in ] remote_node_index This is the remote node index that is being returned to the table . @return none
static
void scic_sds_remote_node_table_set_node_index(
   SCIC_REMOTE_NODE_TABLE_T * remote_node_table,
   U32                        remote_node_index
)
{
   U32 dword_location;
   U32 dword_remainder;
   U32 slot_normalized;
   U32 slot_position;
   ASSERT(
        (remote_node_table->available_nodes_array_size * SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD)
      > (remote_node_index / SCU_STP_REMOTE_NODE_COUNT)
   );
   dword_location  = remote_node_index / SCIC_SDS_REMOTE_NODES_PER_DWORD;
   dword_remainder = remote_node_index % SCIC_SDS_REMOTE_NODES_PER_DWORD;
   slot_normalized = (dword_remainder / SCU_STP_REMOTE_NODE_COUNT) * sizeof(U32);
   slot_position   = remote_node_index % SCU_STP_REMOTE_NODE_COUNT;
   remote_node_table->available_remote_nodes[dword_location] |=
      1 << (slot_normalized + slot_position);
}
static void scic_sds_remote_node_table_set_node_index ( SCIC_REMOTE_NODE_TABLE_T * remote_node_table , U32 remote_node_index ) { U32 dword_location ; U32 dword_remainder ; U32 slot_normalized ; U32 slot_position ; ASSERT ( ( remote_node_table -> available_nodes_array_size * SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD ) > ( remote_node_index / SCU_STP_REMOTE_NODE_COUNT ) ) ; dword_location = remote_node_index / SCIC_SDS_REMOTE_NODES_PER_DWORD ; dword_remainder = remote_node_index % SCIC_SDS_REMOTE_NODES_PER_DWORD ; slot_normalized = ( dword_remainder / SCU_STP_REMOTE_NODE_COUNT ) * sizeof ( U32 ) ; slot_position = remote_node_index % SCU_STP_REMOTE_NODE_COUNT ; remote_node_table -> available_remote_nodes [ dword_location ] |= 1 << ( slot_normalized + slot_position ) ; }
This method will set the remote to available in the remote node allocation
 table.
This method will set the remote to available in the remote node allocation table .