FreeBSD/sys/dev/isci/scil/scic_sds_remote_node_table.c
/**
 * THis method sets an entire remote node group in the remote node table.
 *
 * @param[in] remote_node_table
 * @param[in] group_index
 */
THis method sets an entire remote node group in the remote node table.
THis method sets an entire remote node group in the remote node table .
static
void scic_sds_remote_node_table_set_group(
   SCIC_REMOTE_NODE_TABLE_T * remote_node_table,
   U32                        group_index
)
{
   U32 dword_location;
   U32 dword_remainder;
   U32 dword_value;
   ASSERT(
        (remote_node_table->available_nodes_array_size * SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD)
      > (group_index / SCU_STP_REMOTE_NODE_COUNT)
   );
   dword_location  = group_index / SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD;
   dword_remainder = group_index % SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD;
   dword_value = remote_node_table->available_remote_nodes[dword_location];
   dword_value |= (SCIC_SDS_REMOTE_NODE_TABLE_FULL_SLOT_VALUE << (dword_remainder * 4));
   remote_node_table->available_remote_nodes[dword_location] = dword_value;
}
static void scic_sds_remote_node_table_set_group ( SCIC_REMOTE_NODE_TABLE_T * remote_node_table , U32 group_index ) { U32 dword_location ; U32 dword_remainder ; U32 dword_value ; ASSERT ( ( remote_node_table -> available_nodes_array_size * SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD ) > ( group_index / SCU_STP_REMOTE_NODE_COUNT ) ) ; dword_location = group_index / SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD ; dword_remainder = group_index % SCIC_SDS_REMOTE_NODE_SETS_PER_DWORD ; dword_value = remote_node_table -> available_remote_nodes [ dword_location ] ; dword_value |= ( SCIC_SDS_REMOTE_NODE_TABLE_FULL_SLOT_VALUE << ( dword_remainder * 4 ) ) ; remote_node_table -> available_remote_nodes [ dword_location ] = dword_value ; }
THis method sets an entire remote node group in the remote node table.
THis method sets an entire remote node group in the remote node table .