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

Go to the source code of this file.

Functions

s32 ixgbe_dcb_get_tc_stats_82598 (struct ixgbe_hw *hw, struct ixgbe_hw_stats *stats, u8 tc_count)
 
s32 ixgbe_dcb_get_pfc_stats_82598 (struct ixgbe_hw *hw, struct ixgbe_hw_stats *stats, u8 tc_count)
 
s32 ixgbe_dcb_config_rx_arbiter_82598 (struct ixgbe_hw *hw, u16 *refill, u16 *max, u8 *tsa)
 
s32 ixgbe_dcb_config_tx_desc_arbiter_82598 (struct ixgbe_hw *hw, u16 *refill, u16 *max, u8 *bwg_id, u8 *tsa)
 
s32 ixgbe_dcb_config_tx_data_arbiter_82598 (struct ixgbe_hw *hw, u16 *refill, u16 *max, u8 *bwg_id, u8 *tsa)
 
s32 ixgbe_dcb_config_pfc_82598 (struct ixgbe_hw *hw, u8 pfc_en)
 
s32 ixgbe_dcb_config_tc_stats_82598 (struct ixgbe_hw *hw)
 
s32 ixgbe_dcb_hw_config_82598 (struct ixgbe_hw *hw, int link_speed, u16 *refill, u16 *max, u8 *bwg_id, u8 *tsa)
 

Function Documentation

◆ ixgbe_dcb_config_pfc_82598()

s32 ixgbe_dcb_config_pfc_82598 ( struct ixgbe_hw hw,
u8  pfc_en 
)

ixgbe_dcb_config_pfc_82598 - Config priority flow control @hw: pointer to hardware structure @pfc_en: enabled pfc bitmask

Configure Priority Flow Control for each traffic class.

Definition at line 263 of file ixgbe_dcb_82598.c.

References ixgbe_hw::fc, ixgbe_fc_info::high_water, IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_FCRTH, IXGBE_FCRTH_FCEN, IXGBE_FCRTL, IXGBE_FCRTL_XONE, IXGBE_FCRTV, IXGBE_FCTRL, IXGBE_FCTRL_RFCE, IXGBE_FCTRL_RPFCE, IXGBE_FCTTV, IXGBE_READ_REG, IXGBE_RMCS, IXGBE_RMCS_TFCE_PRIORITY, IXGBE_SUCCESS, IXGBE_WRITE_REG, ixgbe_fc_info::low_water, and ixgbe_fc_info::pause_time.

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_82598()

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

ixgbe_dcb_config_rx_arbiter_82598 - Config Rx data arbiter @hw: pointer to hardware structure @refill: refill credits index by traffic class @max: max credits index by traffic class @tsa: transmission selection algorithm indexed by traffic class

Configure Rx Data Arbiter and credits for each traffic class.

Definition at line 113 of file ixgbe_dcb_82598.c.

References IXGBE_DCB_MAX_TRAFFIC_CLASS, ixgbe_dcb_tsa_strict, IXGBE_RDRXCTL, IXGBE_RDRXCTL_MCEN, IXGBE_RDRXCTL_MPBEN, IXGBE_RDRXCTL_RDMTS_1_2, IXGBE_READ_REG, IXGBE_RMCS, IXGBE_RMCS_DFP, IXGBE_RMCS_RRM, IXGBE_RT2CR, IXGBE_RT2CR_LSP, IXGBE_RT2CR_MCL_SHIFT, IXGBE_RUPPBMR, IXGBE_RUPPBMR_MQA, IXGBE_RXCTRL, IXGBE_SUCCESS, and IXGBE_WRITE_REG.

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

Here is the caller graph for this function:

◆ ixgbe_dcb_config_tc_stats_82598()

s32 ixgbe_dcb_config_tc_stats_82598 ( struct ixgbe_hw hw)

ixgbe_dcb_config_tc_stats_82598 - Configure traffic class statistics @hw: pointer to hardware structure

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

Definition at line 315 of file ixgbe_dcb_82598.c.

References IXGBE_READ_REG, IXGBE_RQSMR, IXGBE_SUCCESS, IXGBE_TQSMR, and IXGBE_WRITE_REG.

Referenced by ixgbe_dcb_config_tc_stats(), and ixgbe_dcb_hw_config_82598().

Here is the caller graph for this function:

◆ ixgbe_dcb_config_tx_data_arbiter_82598()

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

ixgbe_dcb_config_tx_data_arbiter_82598 - 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

Configure Tx Data Arbiter and credits for each traffic class.

Definition at line 218 of file ixgbe_dcb_82598.c.

References IXGBE_DCB_MAX_TRAFFIC_CLASS, ixgbe_dcb_tsa_group_strict_cee, ixgbe_dcb_tsa_strict, IXGBE_DTXCTL, IXGBE_DTXCTL_ENDBUBD, IXGBE_PDPMCS, IXGBE_PDPMCS_TPPAC, IXGBE_PDPMCS_TRM, IXGBE_READ_REG, IXGBE_SUCCESS, IXGBE_TDPT2TCCR, IXGBE_TDPT2TCCR_BWG_SHIFT, IXGBE_TDPT2TCCR_GSP, IXGBE_TDPT2TCCR_LSP, IXGBE_TDPT2TCCR_MCL_SHIFT, and IXGBE_WRITE_REG.

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

Here is the caller graph for this function:

◆ ixgbe_dcb_config_tx_desc_arbiter_82598()

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

ixgbe_dcb_config_tx_desc_arbiter_82598 - 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 171 of file ixgbe_dcb_82598.c.

References IXGBE_DCB_MAX_TRAFFIC_CLASS, ixgbe_dcb_tsa_group_strict_cee, ixgbe_dcb_tsa_strict, IXGBE_DPMCS, IXGBE_DPMCS_MTSOS_SHIFT, IXGBE_DPMCS_TSOEF, IXGBE_READ_REG, IXGBE_SUCCESS, IXGBE_TDTQ2TCCR, IXGBE_TDTQ2TCCR_BWG_SHIFT, IXGBE_TDTQ2TCCR_GSP, IXGBE_TDTQ2TCCR_LSP, IXGBE_TDTQ2TCCR_MCL_SHIFT, and IXGBE_WRITE_REG.

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

Here is the caller graph for this function:

◆ ixgbe_dcb_get_pfc_stats_82598()

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

ixgbe_dcb_get_pfc_stats_82598 - Returns 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 83 of file ixgbe_dcb_82598.c.

References DEBUGFUNC, IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_ERR_PARAM, IXGBE_PXOFFRXC, 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_82598()

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

ixgbe_dcb_get_tc_stats_82598 - Return status data 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_82598.c.

References DEBUGFUNC, IXGBE_DCB_MAX_TRAFFIC_CLASS, IXGBE_ERR_PARAM, IXGBE_QBRC, IXGBE_QBTC, IXGBE_QPRC, IXGBE_QPTC, IXGBE_READ_REG, IXGBE_SUCCESS, ixgbe_hw_stats::qbrc, ixgbe_hw_stats::qbtc, ixgbe_hw_stats::qprc, and ixgbe_hw_stats::qptc.

Referenced by ixgbe_dcb_get_tc_stats().

Here is the caller graph for this function:

◆ ixgbe_dcb_hw_config_82598()

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

ixgbe_dcb_hw_config_82598 - Config 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

Configure dcb settings and enable dcb mode.

Definition at line 351 of file ixgbe_dcb_82598.c.

References ixgbe_dcb_config_rx_arbiter_82598(), ixgbe_dcb_config_tc_stats_82598(), ixgbe_dcb_config_tx_data_arbiter_82598(), ixgbe_dcb_config_tx_desc_arbiter_82598(), 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: