Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
uv_bau.h File Reference
#include <linux/bitmap.h>

Go to the source code of this file.

Data Structures

struct  pnmask
 
struct  bau_local_cpumask
 
struct  bau_msg_payload
 
struct  uv1_bau_msg_header
 
struct  uv2_bau_msg_header
 
struct  bau_desc
 
union  bau_desc::bau_msg_header
 
struct  bau_pq_entry
 
struct  msg_desc
 
struct  reset_args
 
struct  ptc_stats
 
struct  tunables
 
struct  hub_and_pnode
 
struct  socket_desc
 
struct  uvhub_desc
 
struct  bau_control
 
struct  atomic_short
 

Macros

#define BITSPERBYTE   8
 
#define MAX_CPUS_PER_UVHUB   64
 
#define MAX_CPUS_PER_SOCKET   32
 
#define ADP_SZ   64 /* hardware-provided max. */
 
#define UV_CPUS_PER_AS   32 /* hardware-provided max. */
 
#define ITEMS_PER_DESC   8
 
#define MAX_BAU_CONCURRENT   3
 
#define UV_ACT_STATUS_MASK   0x3
 
#define UV_ACT_STATUS_SIZE   2
 
#define UV_DISTRIBUTION_SIZE   256
 
#define UV_SW_ACK_NPENDING   8
 
#define UV1_NET_ENDPOINT_INTD   0x38
 
#define UV2_NET_ENDPOINT_INTD   0x28
 
#define UV_NET_ENDPOINT_INTD
 
#define UV_DESC_PSHIFT   49
 
#define UV_PAYLOADQ_PNODE_SHIFT   49
 
#define UV_PTC_BASENAME   "sgi_uv/ptc_statistics"
 
#define UV_BAU_BASENAME   "sgi_uv/bau_tunables"
 
#define UV_BAU_TUNABLES_DIR   "sgi_uv"
 
#define UV_BAU_TUNABLES_FILE   "bau_tunables"
 
#define WHITESPACE   " \t\n"
 
#define uv_mmask   ((1UL << uv_hub_info->m_val) - 1)
 
#define uv_physnodeaddr(x)   ((__pa((unsigned long)(x)) & uv_mmask))
 
#define cpubit_isset(cpu, bau_local_cpumask)   test_bit((cpu), (bau_local_cpumask).bits)
 
#define UV1_INTD_SOFT_ACK_TIMEOUT_PERIOD   (9UL)
 
#define UV2_INTD_SOFT_ACK_TIMEOUT_PERIOD   (15UL)
 
#define UV_INTD_SOFT_ACK_TIMEOUT_PERIOD
 
#define BAU_MISC_CONTROL_MULT_MASK   3
 
#define UVH_AGING_PRESCALE_SEL   0x000000b000UL
 
#define BAU_URGENCY_7_SHIFT   28
 
#define BAU_URGENCY_7_MASK   7
 
#define UVH_TRANSACTION_TIMEOUT   0x000000b200UL
 
#define BAU_TRANS_SHIFT   40
 
#define BAU_TRANS_MASK   0x3f
 
#define AS_PUSH_SHIFT   UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT
 
#define SOFTACK_MSHIFT   UVH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT
 
#define SOFTACK_PSHIFT   UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT
 
#define SOFTACK_TIMEOUT_PERIOD   UV_INTD_SOFT_ACK_TIMEOUT_PERIOD
 
#define write_gmmr   uv_write_global_mmr64
 
#define write_lmmr   uv_write_local_mmr
 
#define read_lmmr   uv_read_local_mmr
 
#define read_gmmr   uv_read_global_mmr64
 
#define DS_IDLE   0
 
#define DS_ACTIVE   1
 
#define DS_DESTINATION_TIMEOUT   2
 
#define DS_SOURCE_TIMEOUT   3
 
#define UV2H_DESC_IDLE   0
 
#define UV2H_DESC_BUSY   2
 
#define UV2H_DESC_DEST_TIMEOUT   4
 
#define UV2H_DESC_DEST_STRONG_NACK   5
 
#define UV2H_DESC_SOURCE_TIMEOUT   6
 
#define UV2H_DESC_DEST_PUT_ERR   7
 
#define PLUGGED_DELAY   10
 
#define PLUGSB4RESET   100
 
#define TIMEOUTSB4RESET   1
 
#define IPI_RESET_LIMIT   1
 
#define COMPLETE_THRESHOLD   5
 
#define GIVEUP_LIMIT   100
 
#define UV_LB_SUBNODEID   0x10
 
#define UV_SA_SHFT   UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT
 
#define UV_SA_MASK   UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK
 
#define UV2_ACK_MASK   0x7UL
 
#define UV2_ACK_UNITS_SHFT   3
 
#define UV2_EXT_SHFT   UV2H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT
 
#define DEST_Q_SIZE   20
 
#define DEST_NUM_RESOURCES   8
 
#define FLUSH_RETRY_PLUGGED   1
 
#define FLUSH_RETRY_TIMEOUT   2
 
#define FLUSH_GIVEUP   3
 
#define FLUSH_COMPLETE   4
 
#define CONGESTED_RESPONSE_US
 
#define CONGESTED_REPS
 
#define DISABLED_PERIOD
 
#define MSG_NOOP   0
 
#define MSG_REGULAR   1
 
#define MSG_RETRY   2
 

Functions

void uv_bau_message_intr1 (void)
 
void uv_bau_timeout_intr1 (void)
 

Macro Definition Documentation

#define ADP_SZ   64 /* hardware-provided max. */

Definition at line 38 of file uv_bau.h.

#define AS_PUSH_SHIFT   UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT

Definition at line 92 of file uv_bau.h.

#define BAU_MISC_CONTROL_MULT_MASK   3

Definition at line 77 of file uv_bau.h.

#define BAU_TRANS_MASK   0x3f

Definition at line 87 of file uv_bau.h.

#define BAU_TRANS_SHIFT   40

Definition at line 86 of file uv_bau.h.

#define BAU_URGENCY_7_MASK   7

Definition at line 82 of file uv_bau.h.

#define BAU_URGENCY_7_SHIFT   28

Definition at line 81 of file uv_bau.h.

#define BITSPERBYTE   8

Definition at line 15 of file uv_bau.h.

#define COMPLETE_THRESHOLD   5

Definition at line 142 of file uv_bau.h.

#define CONGESTED_REPS
Value:
10 /* long delays averaged over
this many broadcasts */

Definition at line 177 of file uv_bau.h.

#define CONGESTED_RESPONSE_US
Value:
1000 /* 'long' response time, in
microseconds */

Definition at line 176 of file uv_bau.h.

#define cpubit_isset (   cpu,
  bau_local_cpumask 
)    test_bit((cpu), (bau_local_cpumask).bits)

Definition at line 60 of file uv_bau.h.

#define DEST_NUM_RESOURCES   8

Definition at line 164 of file uv_bau.h.

#define DEST_Q_SIZE   20

Definition at line 160 of file uv_bau.h.

#define DISABLED_PERIOD
Value:
10 /* time for the bau to be
disabled, in seconds */

Definition at line 178 of file uv_bau.h.

#define DS_ACTIVE   1

Definition at line 105 of file uv_bau.h.

#define DS_DESTINATION_TIMEOUT   2

Definition at line 106 of file uv_bau.h.

#define DS_IDLE   0

Definition at line 104 of file uv_bau.h.

#define DS_SOURCE_TIMEOUT   3

Definition at line 107 of file uv_bau.h.

#define FLUSH_COMPLETE   4

Definition at line 171 of file uv_bau.h.

#define FLUSH_GIVEUP   3

Definition at line 170 of file uv_bau.h.

#define FLUSH_RETRY_PLUGGED   1

Definition at line 168 of file uv_bau.h.

#define FLUSH_RETRY_TIMEOUT   2

Definition at line 169 of file uv_bau.h.

#define GIVEUP_LIMIT   100

Definition at line 145 of file uv_bau.h.

#define IPI_RESET_LIMIT   1

Definition at line 140 of file uv_bau.h.

#define ITEMS_PER_DESC   8

Definition at line 40 of file uv_bau.h.

#define MAX_BAU_CONCURRENT   3

Definition at line 42 of file uv_bau.h.

#define MAX_CPUS_PER_SOCKET   32

Definition at line 37 of file uv_bau.h.

#define MAX_CPUS_PER_UVHUB   64

Definition at line 36 of file uv_bau.h.

#define MSG_NOOP   0

Definition at line 180 of file uv_bau.h.

#define MSG_REGULAR   1

Definition at line 181 of file uv_bau.h.

#define MSG_RETRY   2

Definition at line 182 of file uv_bau.h.

#define PLUGGED_DELAY   10

Definition at line 130 of file uv_bau.h.

#define PLUGSB4RESET   100

Definition at line 136 of file uv_bau.h.

#define read_gmmr   uv_read_global_mmr64

Definition at line 99 of file uv_bau.h.

#define read_lmmr   uv_read_local_mmr

Definition at line 98 of file uv_bau.h.

Definition at line 93 of file uv_bau.h.

Definition at line 94 of file uv_bau.h.

#define SOFTACK_TIMEOUT_PERIOD   UV_INTD_SOFT_ACK_TIMEOUT_PERIOD

Definition at line 95 of file uv_bau.h.

#define TIMEOUTSB4RESET   1

Definition at line 138 of file uv_bau.h.

#define UV1_INTD_SOFT_ACK_TIMEOUT_PERIOD   (9UL)

Definition at line 70 of file uv_bau.h.

#define UV1_NET_ENDPOINT_INTD   0x38

Definition at line 47 of file uv_bau.h.

#define UV2_ACK_MASK   0x7UL

Definition at line 153 of file uv_bau.h.

#define UV2_ACK_UNITS_SHFT   3

Definition at line 154 of file uv_bau.h.

Definition at line 155 of file uv_bau.h.

#define UV2_INTD_SOFT_ACK_TIMEOUT_PERIOD   (15UL)

Definition at line 71 of file uv_bau.h.

#define UV2_NET_ENDPOINT_INTD   0x28

Definition at line 48 of file uv_bau.h.

#define UV2H_DESC_BUSY   2

Definition at line 121 of file uv_bau.h.

#define UV2H_DESC_DEST_PUT_ERR   7

Definition at line 125 of file uv_bau.h.

#define UV2H_DESC_DEST_STRONG_NACK   5

Definition at line 123 of file uv_bau.h.

#define UV2H_DESC_DEST_TIMEOUT   4

Definition at line 122 of file uv_bau.h.

#define UV2H_DESC_IDLE   0

Definition at line 120 of file uv_bau.h.

#define UV2H_DESC_SOURCE_TIMEOUT   6

Definition at line 124 of file uv_bau.h.

#define UV_ACT_STATUS_MASK   0x3

Definition at line 43 of file uv_bau.h.

#define UV_ACT_STATUS_SIZE   2

Definition at line 44 of file uv_bau.h.

#define UV_BAU_BASENAME   "sgi_uv/bau_tunables"

Definition at line 54 of file uv_bau.h.

#define UV_BAU_TUNABLES_DIR   "sgi_uv"

Definition at line 55 of file uv_bau.h.

#define UV_BAU_TUNABLES_FILE   "bau_tunables"

Definition at line 56 of file uv_bau.h.

#define UV_CPUS_PER_AS   32 /* hardware-provided max. */

Definition at line 39 of file uv_bau.h.

#define UV_DESC_PSHIFT   49

Definition at line 51 of file uv_bau.h.

#define UV_DISTRIBUTION_SIZE   256

Definition at line 45 of file uv_bau.h.

#define UV_INTD_SOFT_ACK_TIMEOUT_PERIOD
Value:
(is_uv1_hub() ? \
UV1_INTD_SOFT_ACK_TIMEOUT_PERIOD : \
UV2_INTD_SOFT_ACK_TIMEOUT_PERIOD)

Definition at line 73 of file uv_bau.h.

#define UV_LB_SUBNODEID   0x10

Definition at line 147 of file uv_bau.h.

#define uv_mmask   ((1UL << uv_hub_info->m_val) - 1)

Definition at line 58 of file uv_bau.h.

#define UV_NET_ENDPOINT_INTD
Value:
(is_uv1_hub() ? \
UV1_NET_ENDPOINT_INTD : UV2_NET_ENDPOINT_INTD)

Definition at line 49 of file uv_bau.h.

#define UV_PAYLOADQ_PNODE_SHIFT   49

Definition at line 52 of file uv_bau.h.

#define uv_physnodeaddr (   x)    ((__pa((unsigned long)(x)) & uv_mmask))

Definition at line 59 of file uv_bau.h.

#define UV_PTC_BASENAME   "sgi_uv/ptc_statistics"

Definition at line 53 of file uv_bau.h.

Definition at line 151 of file uv_bau.h.

Definition at line 150 of file uv_bau.h.

#define UV_SW_ACK_NPENDING   8

Definition at line 46 of file uv_bau.h.

#define UVH_AGING_PRESCALE_SEL   0x000000b000UL

Definition at line 79 of file uv_bau.h.

#define UVH_TRANSACTION_TIMEOUT   0x000000b200UL

Definition at line 84 of file uv_bau.h.

#define WHITESPACE   " \t\n"

Definition at line 57 of file uv_bau.h.

#define write_gmmr   uv_write_global_mmr64

Definition at line 96 of file uv_bau.h.

#define write_lmmr   uv_write_local_mmr

Definition at line 97 of file uv_bau.h.

Function Documentation

void uv_bau_message_intr1 ( void  )
void uv_bau_timeout_intr1 ( void  )