Print this page
5045 use atomic_{inc,dec}_* instead of atomic_add_*


 274 
 275 struct myri10ge_info {
 276         struct kstat_named driver_version;
 277         struct kstat_named firmware_version;
 278         struct kstat_named firmware_name;
 279         struct kstat_named interrupt_type;
 280         struct kstat_named product_code;
 281         struct kstat_named serial_number;
 282 };
 283 
 284 
 285 #define MYRI10GE_NIC_STAT_INC(field)                                    \
 286 (((struct myri10ge_nic_stat *)mgp->ksp_stat->ks_data)->field.value.ul)++
 287 #define MYRI10GE_SLICE_STAT_INC(field)                                  \
 288 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul)++
 289 #define MYRI10GE_SLICE_STAT_ADD(field, val)                             \
 290 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul) += val
 291 #define MYRI10GE_SLICE_STAT_DEC(field)                                  \
 292 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul)--
 293 #define MYRI10GE_ATOMIC_SLICE_STAT_INC(field)                           \
 294 atomic_add_long(&(((struct myri10ge_slice_stat *)                   \
 295             ss->ksp_stat->ks_data)->field.value.ul), 1)
 296 #define MYRI10GE_ATOMIC_SLICE_STAT_DEC(field)                           \
 297 atomic_add_long(&(((struct myri10ge_slice_stat *)                   \
 298             ss->ksp_stat->ks_data)->field.value.ul), -1)
 299 #define MYRI10GE_SLICE_STAT(field)                                      \
 300 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul)
 301 
 302 
 303 struct myri10ge_tx_copybuf
 304 {
 305         caddr_t va;
 306         int len;
 307         struct myri10ge_dma_stuff dma;
 308 };
 309 
 310 typedef struct
 311 {
 312         mcp_kreq_ether_recv_t *lanai;   /* lanai ptr for recv ring */
 313         mcp_kreq_ether_recv_t *shadow;  /* host shadow of recv ring */
 314         struct myri10ge_rx_buffer_state *info;
 315         int cnt;
 316         int alloc_fail;
 317         int mask;                       /* number of rx slots -1 */
 318         boolean_t polling;




 274 
 275 struct myri10ge_info {
 276         struct kstat_named driver_version;
 277         struct kstat_named firmware_version;
 278         struct kstat_named firmware_name;
 279         struct kstat_named interrupt_type;
 280         struct kstat_named product_code;
 281         struct kstat_named serial_number;
 282 };
 283 
 284 
 285 #define MYRI10GE_NIC_STAT_INC(field)                                    \
 286 (((struct myri10ge_nic_stat *)mgp->ksp_stat->ks_data)->field.value.ul)++
 287 #define MYRI10GE_SLICE_STAT_INC(field)                                  \
 288 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul)++
 289 #define MYRI10GE_SLICE_STAT_ADD(field, val)                             \
 290 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul) += val
 291 #define MYRI10GE_SLICE_STAT_DEC(field)                                  \
 292 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul)--
 293 #define MYRI10GE_ATOMIC_SLICE_STAT_INC(field)                           \
 294 atomic_inc_ulong(&(((struct myri10ge_slice_stat *)                  \
 295         ss->ksp_stat->ks_data)->field.value.ul))
 296 #define MYRI10GE_ATOMIC_SLICE_STAT_DEC(field)                           \
 297 atomic_dec_ulong(&(((struct myri10ge_slice_stat *)                  \
 298         ss->ksp_stat->ks_data)->field.value.ul))
 299 #define MYRI10GE_SLICE_STAT(field)                                      \
 300 (((struct myri10ge_slice_stat *)ss->ksp_stat->ks_data)->field.value.ul)
 301 
 302 
 303 struct myri10ge_tx_copybuf
 304 {
 305         caddr_t va;
 306         int len;
 307         struct myri10ge_dma_stuff dma;
 308 };
 309 
 310 typedef struct
 311 {
 312         mcp_kreq_ether_recv_t *lanai;   /* lanai ptr for recv ring */
 313         mcp_kreq_ether_recv_t *shadow;  /* host shadow of recv ring */
 314         struct myri10ge_rx_buffer_state *info;
 315         int cnt;
 316         int alloc_fail;
 317         int mask;                       /* number of rx slots -1 */
 318         boolean_t polling;