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

Go to the source code of this file.

Data Structures

struct  dcb_pfc_tc_debug
 
struct  dcb_support
 
struct  tc_bw_alloc
 
struct  tc_configuration
 
struct  dcb_num_tcs
 
struct  ixgbe_dcb_config
 

Macros

#define IXGBE_MAX_PACKET_BUFFERS   8
 
#define MAX_USER_PRIORITY   8
 
#define MAX_BW_GROUP   8
 
#define BW_PERCENT   100
 
#define DCB_TX_CONFIG   0
 
#define DCB_RX_CONFIG   1
 
#define DCB_SUCCESS   0
 
#define DCB_ERR_CONFIG   -1
 
#define DCB_ERR_PARAM   -2
 
#define DCB_ERR_BW_GROUP   -3
 
#define DCB_ERR_TC_BW   -4
 
#define DCB_ERR_LS_GS   -5
 
#define DCB_ERR_LS_BW_NONZERO   -6
 
#define DCB_ERR_LS_BWG_NONZERO   -7
 
#define DCB_ERR_TC_BW_ZERO   -8
 
#define DCB_NOT_IMPLEMENTED   0x7FFFFFFF
 
#define IXGBE_DCB_PG_SUPPORT   0x00000001
 
#define IXGBE_DCB_PFC_SUPPORT   0x00000002
 
#define IXGBE_DCB_BCN_SUPPORT   0x00000004
 
#define IXGBE_DCB_UP2TC_SUPPORT   0x00000008
 
#define IXGBE_DCB_GSP_SUPPORT   0x00000010
 
#define IXGBE_DCB_8_TC_SUPPORT   0x80
 
#define DCB_CREDIT_QUANTUM   64 /* DCB Quantum */
 
#define MAX_CREDIT_REFILL   511 /* 0x1FF * 64B = 32704B */
 
#define DCB_MAX_TSO_SIZE   (32*1024) /* MAX TSO packet size supported in DCB mode */
 
#define MINIMUM_CREDIT_FOR_TSO   (DCB_MAX_TSO_SIZE/64 + 1) /* 513 for 32KB TSO packet */
 
#define MAX_CREDIT   4095 /* Maximum credit supported: 256KB * 1204 / 64B */
 

Enumerations

enum  strict_prio_type { prio_none = 0, prio_group, prio_link }
 
enum  dcb_pfc_type { pfc_disabled = 0, pfc_enabled_full, pfc_enabled_tx, pfc_enabled_rx }
 

Functions

void ixgbe_dcb_unpack_pfc (struct ixgbe_dcb_config *cfg, u8 *pfc_en)
 
void ixgbe_dcb_unpack_refill (struct ixgbe_dcb_config *, int, u16 *)
 
void ixgbe_dcb_unpack_max (struct ixgbe_dcb_config *, u16 *)
 
void ixgbe_dcb_unpack_bwgid (struct ixgbe_dcb_config *, int, u8 *)
 
void ixgbe_dcb_unpack_prio (struct ixgbe_dcb_config *, int, u8 *)
 
void ixgbe_dcb_unpack_map (struct ixgbe_dcb_config *, int, u8 *)
 
u8 ixgbe_dcb_get_tc_from_up (struct ixgbe_dcb_config *, int, u8)
 
s32 ixgbe_dcb_calculate_tc_credits (struct ixgbe_hw *, struct ixgbe_dcb_config *, int, u8)
 
s32 ixgbe_dcb_hw_ets (struct ixgbe_hw *hw, struct ieee_ets *ets, int max)
 
s32 ixgbe_dcb_hw_ets_config (struct ixgbe_hw *hw, u16 *refill, u16 *max, u8 *bwg_id, u8 *prio_type, u8 *tc_prio)
 
s32 ixgbe_dcb_hw_pfc_config (struct ixgbe_hw *hw, u8 pfc_en, u8 *tc_prio)
 
s32 ixgbe_dcb_hw_config (struct ixgbe_hw *, struct ixgbe_dcb_config *)
 

Macro Definition Documentation

#define BW_PERCENT   100

Definition at line 40 of file ixgbe_dcb.h.

#define DCB_CREDIT_QUANTUM   64 /* DCB Quantum */

Definition at line 163 of file ixgbe_dcb.h.

#define DCB_ERR_BW_GROUP   -3

Definition at line 52 of file ixgbe_dcb.h.

#define DCB_ERR_CONFIG   -1

Definition at line 47 of file ixgbe_dcb.h.

#define DCB_ERR_LS_BW_NONZERO   -6

Definition at line 58 of file ixgbe_dcb.h.

#define DCB_ERR_LS_BWG_NONZERO   -7

Definition at line 60 of file ixgbe_dcb.h.

#define DCB_ERR_LS_GS   -5

Definition at line 56 of file ixgbe_dcb.h.

#define DCB_ERR_PARAM   -2

Definition at line 48 of file ixgbe_dcb.h.

#define DCB_ERR_TC_BW   -4

Definition at line 54 of file ixgbe_dcb.h.

#define DCB_ERR_TC_BW_ZERO   -8

Definition at line 62 of file ixgbe_dcb.h.

#define DCB_MAX_TSO_SIZE   (32*1024) /* MAX TSO packet size supported in DCB mode */

Definition at line 165 of file ixgbe_dcb.h.

#define DCB_NOT_IMPLEMENTED   0x7FFFFFFF

Definition at line 64 of file ixgbe_dcb.h.

#define DCB_RX_CONFIG   1

Definition at line 43 of file ixgbe_dcb.h.

#define DCB_SUCCESS   0

Definition at line 46 of file ixgbe_dcb.h.

#define DCB_TX_CONFIG   0

Definition at line 42 of file ixgbe_dcb.h.

#define IXGBE_DCB_8_TC_SUPPORT   0x80

Definition at line 85 of file ixgbe_dcb.h.

#define IXGBE_DCB_BCN_SUPPORT   0x00000004

Definition at line 81 of file ixgbe_dcb.h.

#define IXGBE_DCB_GSP_SUPPORT   0x00000010

Definition at line 83 of file ixgbe_dcb.h.

#define IXGBE_DCB_PFC_SUPPORT   0x00000002

Definition at line 80 of file ixgbe_dcb.h.

#define IXGBE_DCB_PG_SUPPORT   0x00000001

Definition at line 79 of file ixgbe_dcb.h.

#define IXGBE_DCB_UP2TC_SUPPORT   0x00000008

Definition at line 82 of file ixgbe_dcb.h.

#define IXGBE_MAX_PACKET_BUFFERS   8

Definition at line 37 of file ixgbe_dcb.h.

#define MAX_BW_GROUP   8

Definition at line 39 of file ixgbe_dcb.h.

#define MAX_CREDIT   4095 /* Maximum credit supported: 256KB * 1204 / 64B */

Definition at line 167 of file ixgbe_dcb.h.

#define MAX_CREDIT_REFILL   511 /* 0x1FF * 64B = 32704B */

Definition at line 164 of file ixgbe_dcb.h.

#define MAX_USER_PRIORITY   8

Definition at line 38 of file ixgbe_dcb.h.

#define MINIMUM_CREDIT_FOR_TSO   (DCB_MAX_TSO_SIZE/64 + 1) /* 513 for 32KB TSO packet */

Definition at line 166 of file ixgbe_dcb.h.

Enumeration Type Documentation

Enumerator:
pfc_disabled 
pfc_enabled_full 
pfc_enabled_tx 
pfc_enabled_rx 

Definition at line 110 of file ixgbe_dcb.h.

Enumerator:
prio_none 
prio_group 
prio_link 

Definition at line 72 of file ixgbe_dcb.h.

Function Documentation

s32 ixgbe_dcb_calculate_tc_credits ( struct ixgbe_hw hw,
struct ixgbe_dcb_config dcb_config,
int  max_frame,
u8  direction 
)

ixgbe_dcb_calculate_tc_credits - Calculates traffic class credits : Struct containing DCB settings. : Configuring either Tx or Rx.

This function calculates the credits allocated to each traffic class. It should be called only after the rules are checked by ixgbe_dcb_check_config().

Definition at line 82 of file ixgbe_dcb.c.

u8 ixgbe_dcb_get_tc_from_up ( struct ixgbe_dcb_config ,
int  ,
u8   
)

Definition at line 231 of file ixgbe_dcb.c.

s32 ixgbe_dcb_hw_config ( struct ixgbe_hw hw,
struct ixgbe_dcb_config dcb_config 
)

ixgbe_dcb_hw_config - Config and enable DCB : pointer to hardware structure : pointer to ixgbe_dcb_config structure

Configure dcb settings and enable dcb mode.

Definition at line 269 of file ixgbe_dcb.c.

s32 ixgbe_dcb_hw_ets ( struct ixgbe_hw hw,
struct ieee_ets ets,
int  max 
)

Definition at line 323 of file ixgbe_dcb.c.

s32 ixgbe_dcb_hw_ets_config ( struct ixgbe_hw hw,
u16 refill,
u16 max,
u8 bwg_id,
u8 prio_type,
u8 tc_prio 
)

Definition at line 356 of file ixgbe_dcb.c.

s32 ixgbe_dcb_hw_pfc_config ( struct ixgbe_hw hw,
u8  pfc_en,
u8 tc_prio 
)

Definition at line 305 of file ixgbe_dcb.c.

void ixgbe_dcb_unpack_bwgid ( struct ixgbe_dcb_config ,
int  ,
u8  
)

Definition at line 211 of file ixgbe_dcb.c.

void ixgbe_dcb_unpack_map ( struct ixgbe_dcb_config ,
int  ,
u8  
)

Definition at line 254 of file ixgbe_dcb.c.

void ixgbe_dcb_unpack_max ( struct ixgbe_dcb_config ,
u16  
)

Definition at line 202 of file ixgbe_dcb.c.

void ixgbe_dcb_unpack_pfc ( struct ixgbe_dcb_config cfg,
u8 pfc_en 
)

Definition at line 181 of file ixgbe_dcb.c.

void ixgbe_dcb_unpack_prio ( struct ixgbe_dcb_config ,
int  ,
u8  
)

Definition at line 221 of file ixgbe_dcb.c.

void ixgbe_dcb_unpack_refill ( struct ixgbe_dcb_config ,
int  ,
u16  
)

Definition at line 192 of file ixgbe_dcb.c.