FreeBSD kernel IXGBE device code
ixgbe_dcb_82599.c File Reference
#include "ixgbe_type.h"
#include "ixgbe_dcb.h"
#include "ixgbe_dcb_82599.h"
Include dependency graph for ixgbe_dcb_82599.c:

Go to the source code of this file.

Functions

s32 ixgbe_dcb_get_tc_stats_82599 (struct ixgbe_hw *hw, struct ixgbe_hw_stats *stats, u8 tc_count)
 
s32 ixgbe_dcb_get_pfc_stats_82599 (struct ixgbe_hw *hw, struct ixgbe_hw_stats *stats, u8 tc_count)
 
s32 ixgbe_dcb_config_rx_arbiter_82599 (struct ixgbe_hw *hw, u16 *refill, u16 *max, u8 *bwg_id, u8 *tsa, u8 *map)
 
s32 ixgbe_dcb_config_tx_desc_arbiter_82599 (struct ixgbe_hw *hw, u16 *refill, u16 *max, u8 *bwg_id, u8 *tsa)
 
s32 ixgbe_dcb_config_tx_data_arbiter_82599 (struct ixgbe_hw *hw, u16 *refill, u16 *max, u8 *bwg_id, u8 *tsa, u8 *map)
 
s32 ixgbe_dcb_config_pfc_82599 (struct ixgbe_hw *hw, u8 pfc_en, u8 *map)
 
s32 ixgbe_dcb_config_tc_stats_82599 (struct ixgbe_hw *hw, struct ixgbe_dcb_config *dcb_config)
 
s32 ixgbe_dcb_config_82599 (struct ixgbe_hw *hw, struct ixgbe_dcb_config *dcb_config)
 
s32 ixgbe_dcb_hw_config_82599 (struct ixgbe_hw *hw, int link_speed, u16 *refill, u16 *max, u8 *bwg_id, u8 *tsa, u8 *map)
 

Function Documentation

◆ ixgbe_dcb_config_82599()

s32 ixgbe_dcb_config_82599 ( struct ixgbe_hw hw,
struct ixgbe_dcb_config dcb_config 
)

◆ ixgbe_dcb_config_pfc_82599()

s32 ixgbe_dcb_config_pfc_82599 ( struct ixgbe_hw hw,
u8  pfc_en,
u8 map 
)

ixgbe_dcb_config_pfc_82599 - Configure priority flow control @hw: pointer to hardware structure @pfc_en: enabled pfc bitmask @map: priority to tc assignments indexed by priority

Configure Priority Flow Control (PFC) for each traffic class.

Definition at line 295 of file ixgbe_dcb_82599.c.

References ixgbe_hw::fc, ixgbe_fc_info::high_water, IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_DCB_MAX_USER_PRIORITY, IXGBE_FCCFG, IXGBE_FCCFG_TFCE_PRIORITY, IXGBE_FCRTH_82599, IXGBE_FCRTH_FCEN, IXGBE_FCRTL_82599, IXGBE_FCRTL_XONE, IXGBE_FCRTV, IXGBE_FCTTV, ixgbe_mac_X540, IXGBE_MFLCN, IXGBE_MFLCN_DPF, IXGBE_MFLCN_RFCE, IXGBE_MFLCN_RPFCE, IXGBE_MFLCN_RPFCE_MASK, IXGBE_MFLCN_RPFCE_SHIFT, IXGBE_READ_REG, IXGBE_RXPBSIZE, IXGBE_SUCCESS, IXGBE_WRITE_REG, ixgbe_fc_info::low_water, ixgbe_hw::mac, ixgbe_fc_info::pause_time, and ixgbe_mac_info::type.

Referenced by ixgbe_dcb_config_pfc(), and ixgbe_dcb_config_pfc_cee().

Here is the caller graph for this function:

◆ ixgbe_dcb_config_rx_arbiter_82599()

s32 ixgbe_dcb_config_rx_arbiter_82599 ( struct ixgbe_hw hw,
u16 refill,
u16 max,
u8 bwg_id,
u8 tsa,
u8 map 
)

ixgbe_dcb_config_rx_arbiter_82599 - Config Rx Data arbiter @hw: pointer to hardware structure @refill: refill credits index by traffic class @max: max credits index by traffic class @bwg_id: bandwidth grouping indexed by traffic class @tsa: transmission selection algorithm indexed by traffic class @map: priority to tc assignments indexed by priority

Configure Rx Packet Arbiter and credits for each traffic class.

Definition at line 122 of file ixgbe_dcb_82599.c.

References IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_DCB_MAX_USER_PRIORITY, ixgbe_dcb_tsa_strict, IXGBE_RTRPCS, IXGBE_RTRPCS_ARBDIS, IXGBE_RTRPCS_RAC, IXGBE_RTRPCS_RRM, IXGBE_RTRPT4C, IXGBE_RTRPT4C_BWG_SHIFT, IXGBE_RTRPT4C_LSP, IXGBE_RTRPT4C_MCL_SHIFT, IXGBE_RTRUP2TC, IXGBE_RTRUP2TC_UP_SHIFT, IXGBE_SUCCESS, and IXGBE_WRITE_REG.

Referenced by ixgbe_dcb_config_rx_arbiter_cee(), ixgbe_dcb_hw_config(), and ixgbe_dcb_hw_config_82599().

Here is the caller graph for this function:

◆ ixgbe_dcb_config_tc_stats_82599()

s32 ixgbe_dcb_config_tc_stats_82599 ( struct ixgbe_hw hw,
struct ixgbe_dcb_config dcb_config 
)

ixgbe_dcb_config_tc_stats_82599 - Config traffic class statistics @hw: pointer to hardware structure @dcb_config: pointer to ixgbe_dcb_config structure

Configure queue statistics registers, all queues belonging to same traffic class uses a single set of queue statistics counters.

Definition at line 382 of file ixgbe_dcb_82599.c.

References IXGBE_ERR_PARAM, IXGBE_RQSMR, IXGBE_SUCCESS, IXGBE_TQSM, IXGBE_WRITE_REG, ixgbe_dcb_config::num_tcs, ixgbe_dcb_num_tcs::pg_tcs, and ixgbe_dcb_config::vt_mode.

Referenced by ixgbe_dcb_config_tc_stats(), and ixgbe_dcb_hw_config_cee().

Here is the caller graph for this function:

◆ ixgbe_dcb_config_tx_data_arbiter_82599()

s32 ixgbe_dcb_config_tx_data_arbiter_82599 ( struct ixgbe_hw hw,
u16 refill,
u16 max,
u8 bwg_id,
u8 tsa,
u8 map 
)

ixgbe_dcb_config_tx_data_arbiter_82599 - Config Tx Data arbiter @hw: pointer to hardware structure @refill: refill credits index by traffic class @max: max credits index by traffic class @bwg_id: bandwidth grouping indexed by traffic class @tsa: transmission selection algorithm indexed by traffic class @map: priority to tc assignments indexed by priority

Configure Tx Packet Arbiter and credits for each traffic class.

Definition at line 233 of file ixgbe_dcb_82599.c.

References IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_DCB_MAX_USER_PRIORITY, ixgbe_dcb_tsa_group_strict_cee, ixgbe_dcb_tsa_strict, IXGBE_RTTPCS, IXGBE_RTTPCS_ARBD_DCB, IXGBE_RTTPCS_ARBD_SHIFT, IXGBE_RTTPCS_ARBDIS, IXGBE_RTTPCS_TPPAC, IXGBE_RTTPCS_TPRM, IXGBE_RTTPT2C, IXGBE_RTTPT2C_BWG_SHIFT, IXGBE_RTTPT2C_GSP, IXGBE_RTTPT2C_LSP, IXGBE_RTTPT2C_MCL_SHIFT, IXGBE_RTTUP2TC, IXGBE_RTTUP2TC_UP_SHIFT, IXGBE_SUCCESS, and IXGBE_WRITE_REG.

Referenced by ixgbe_dcb_config_tx_data_arbiter_cee(), ixgbe_dcb_hw_config(), and ixgbe_dcb_hw_config_82599().

Here is the caller graph for this function:

◆ ixgbe_dcb_config_tx_desc_arbiter_82599()

s32 ixgbe_dcb_config_tx_desc_arbiter_82599 ( struct ixgbe_hw hw,
u16 refill,
u16 max,
u8 bwg_id,
u8 tsa 
)

ixgbe_dcb_config_tx_desc_arbiter_82599 - Config Tx Desc. arbiter @hw: pointer to hardware structure @refill: refill credits index by traffic class @max: max credits index by traffic class @bwg_id: bandwidth grouping indexed by traffic class @tsa: transmission selection algorithm indexed by traffic class

Configure Tx Descriptor Arbiter and credits for each traffic class.

Definition at line 184 of file ixgbe_dcb_82599.c.

References IXGBE_DCB_MAX_TRAFFIC_CLASS, ixgbe_dcb_tsa_group_strict_cee, ixgbe_dcb_tsa_strict, IXGBE_RTTDCS, IXGBE_RTTDCS_TDPAC, IXGBE_RTTDCS_TDRM, IXGBE_RTTDQSEL, IXGBE_RTTDT1C, IXGBE_RTTDT2C, IXGBE_RTTDT2C_BWG_SHIFT, IXGBE_RTTDT2C_GSP, IXGBE_RTTDT2C_LSP, IXGBE_RTTDT2C_MCL_SHIFT, IXGBE_SUCCESS, and IXGBE_WRITE_REG.

Referenced by ixgbe_dcb_config_tx_desc_arbiter_cee(), ixgbe_dcb_hw_config(), and ixgbe_dcb_hw_config_82599().

Here is the caller graph for this function:

◆ ixgbe_dcb_get_pfc_stats_82599()

s32 ixgbe_dcb_get_pfc_stats_82599 ( struct ixgbe_hw hw,
struct ixgbe_hw_stats stats,
u8  tc_count 
)

ixgbe_dcb_get_pfc_stats_82599 - Return CBFC status data @hw: pointer to hardware structure @stats: pointer to statistics structure @tc_count: Number of elements in bwg_array.

This function returns the CBFC status data for each of the Traffic Classes.

Definition at line 90 of file ixgbe_dcb_82599.c.

References DEBUGFUNC, IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_ERR_PARAM, IXGBE_PXOFFRXCNT, IXGBE_PXOFFTXC, IXGBE_READ_REG, IXGBE_SUCCESS, ixgbe_hw_stats::pxoffrxc, and ixgbe_hw_stats::pxofftxc.

Referenced by ixgbe_dcb_get_pfc_stats().

Here is the caller graph for this function:

◆ ixgbe_dcb_get_tc_stats_82599()

s32 ixgbe_dcb_get_tc_stats_82599 ( struct ixgbe_hw hw,
struct ixgbe_hw_stats stats,
u8  tc_count 
)

ixgbe_dcb_get_tc_stats_82599 - Returns status for each traffic class @hw: pointer to hardware structure @stats: pointer to statistics structure @tc_count: Number of elements in bwg_array.

This function returns the status data for each of the Traffic Classes in use.

Definition at line 49 of file ixgbe_dcb_82599.c.

References DEBUGFUNC, IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_ERR_PARAM, IXGBE_QBRC_H, IXGBE_QBRC_L, IXGBE_QBTC_H, IXGBE_QBTC_L, IXGBE_QPRC, IXGBE_QPRDC, IXGBE_QPTC, IXGBE_READ_REG, IXGBE_SUCCESS, ixgbe_hw_stats::qbrc, ixgbe_hw_stats::qbtc, ixgbe_hw_stats::qprc, ixgbe_hw_stats::qprdc, and ixgbe_hw_stats::qptc.

Referenced by ixgbe_dcb_get_tc_stats().

Here is the caller graph for this function:

◆ ixgbe_dcb_hw_config_82599()

s32 ixgbe_dcb_hw_config_82599 ( struct ixgbe_hw hw,
int  link_speed,
u16 refill,
u16 max,
u8 bwg_id,
u8 tsa,
u8 map 
)

ixgbe_dcb_hw_config_82599 - Configure and enable DCB @hw: pointer to hardware structure @link_speed: unused @refill: refill credits index by traffic class @max: max credits index by traffic class @bwg_id: bandwidth grouping indexed by traffic class @tsa: transmission selection algorithm indexed by traffic class @map: priority to tc assignments indexed by priority

Configure dcb settings and enable dcb mode.

Definition at line 597 of file ixgbe_dcb_82599.c.

References ixgbe_dcb_config_rx_arbiter_82599(), ixgbe_dcb_config_tx_data_arbiter_82599(), ixgbe_dcb_config_tx_desc_arbiter_82599(), IXGBE_SUCCESS, and UNREFERENCED_1PARAMETER.

Referenced by ixgbe_dcb_hw_config_cee().

Here is the call graph for this function:
Here is the caller graph for this function: