diff options
author | 2016-08-08 13:18:36 +0300 | |
---|---|---|
committer | 2016-08-08 13:18:36 +0300 | |
commit | 2d51b632b8b22b6e5be9ed1cbc110bfd4308c2e6 (patch) | |
tree | 8205d26940b42d0a19c87be5598b43bf059c56df /src/dpdk/drivers/net/i40e/i40e_ethdev.c | |
parent | dc56569b146966c17433fef70d4eb5456871dcc6 (diff) |
Changing DPDK latency patch, so we can easily merge it for next DPDK version
Diffstat (limited to 'src/dpdk/drivers/net/i40e/i40e_ethdev.c')
-rw-r--r-- | src/dpdk/drivers/net/i40e/i40e_ethdev.c | 41 |
1 files changed, 13 insertions, 28 deletions
diff --git a/src/dpdk/drivers/net/i40e/i40e_ethdev.c b/src/dpdk/drivers/net/i40e/i40e_ethdev.c index d9d2b969..12402ae2 100644 --- a/src/dpdk/drivers/net/i40e/i40e_ethdev.c +++ b/src/dpdk/drivers/net/i40e/i40e_ethdev.c @@ -756,6 +756,7 @@ static inline void i40e_flex_payload_reg_init(struct i40e_hw *hw) #define I40E_FLOW_CONTROL_ETHERTYPE 0x8808 #define TREX_PATCH +#define TREX_PATCH_LOW_LATENCY #ifdef TREX_PATCH // 0 - statfull mode. 1 stateless. @@ -2373,19 +2374,6 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw) i40e_update_vsi_stats(pf->main_vsi); } -// TREX_PATCH -int -i40e_trex_get_speed(struct rte_eth_dev *dev) -{ - struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private); - - if (i40e_is_40G_device(hw->device_id)) { - return 40; - } else { - return 10; - } -} - //TREX_PATCH // fill stats array with fdir rules match count statistics // Notice that we read statistics from start to start + len, but we fill the stats are @@ -4174,10 +4162,18 @@ i40e_veb_setup(struct i40e_pf *pf, struct i40e_vsi *vsi) /* create floating veb if vsi is NULL */ if (vsi != NULL) { ret = i40e_aq_add_veb(hw, veb->uplink_seid, vsi->seid, - vsi->enabled_tc, false, +#ifdef TREX_PATCH_LOW_LATENCY + vsi->enabled_tc, false, +#else + I40E_DEFAULT_TCMAP, false, +#endif &veb->seid, false, NULL); } else { +#ifdef TREX_PATCH_LOW_LATENCY ret = i40e_aq_add_veb(hw, 0, 0, vsi->enabled_tc, +#else + ret = i40e_aq_add_veb(hw, 0, 0, I40E_DEFAULT_TCMAP, +#endif true, &veb->seid, false, NULL); } @@ -4331,9 +4327,7 @@ i40e_update_default_filter_setting(struct i40e_vsi *vsi) return i40e_vsi_add_mac(vsi, &filter); } -#ifdef TREX_PATCH -#define LOW_LATENCY_WORKAROUND -#ifdef LOW_LATENCY_WORKAROUND +#ifdef TREX_PATCH_LOW_LATENCY static int i40e_vsi_update_tc_max_bw(struct i40e_vsi *vsi, u16 credit){ struct i40e_hw *hw = I40E_VSI_TO_HW(vsi); @@ -4382,9 +4376,6 @@ i40e_vsi_update_tc_bandwidth_ex(struct i40e_vsi *vsi) return I40E_SUCCESS; } - - -#endif #endif /* @@ -9342,15 +9333,11 @@ i40e_dcb_init_configure(struct rte_eth_dev *dev, bool sw_dcb) hw->local_dcbx_config.etscfg.maxtcs = 0; hw->local_dcbx_config.etscfg.tcbwtable[0] = 100; hw->local_dcbx_config.etscfg.tsatable[0] = I40E_IEEE_TSA_ETS; - -#ifdef LOW_LATENCY_WORKAROUND - +#ifdef TREX_PATCH_LOW_LATENCY hw->local_dcbx_config.etscfg.tcbwtable[1] = 0; hw->local_dcbx_config.etscfg.tsatable[1] = I40E_IEEE_TSA_STRICT; hw->local_dcbx_config.etscfg.prioritytable[1] = 1; #endif - - hw->local_dcbx_config.etsrec = hw->local_dcbx_config.etscfg; hw->local_dcbx_config.pfc.willing = 0; @@ -9370,15 +9357,13 @@ i40e_dcb_init_configure(struct rte_eth_dev *dev, bool sw_dcb) hw->aq.asq_last_status); return -ENOSYS; } - -#ifdef LOW_LATENCY_WORKAROUND +#ifdef TREX_PATCH_LOW_LATENCY if (i40e_vsi_update_tc_bandwidth_ex(pf->main_vsi) != I40E_SUCCESS) { PMD_DRV_LOG(ERR, "Failed to update TC bandwidth"); return -ENOSYS; } #endif - } else { PMD_INIT_LOG(INFO, "DCBX configuration failed, err = %d," " aq_err = %d.", ret, |