|
@@ -624,11 +624,15 @@ static void i40e_update_veb_stats(struct i40e_veb *veb)
|
|
|
struct i40e_hw *hw = &pf->hw;
|
|
struct i40e_hw *hw = &pf->hw;
|
|
|
struct i40e_eth_stats *oes;
|
|
struct i40e_eth_stats *oes;
|
|
|
struct i40e_eth_stats *es; /* device's eth stats */
|
|
struct i40e_eth_stats *es; /* device's eth stats */
|
|
|
- int idx = 0;
|
|
|
|
|
|
|
+ struct i40e_veb_tc_stats *veb_oes;
|
|
|
|
|
+ struct i40e_veb_tc_stats *veb_es;
|
|
|
|
|
+ int i, idx = 0;
|
|
|
|
|
|
|
|
idx = veb->stats_idx;
|
|
idx = veb->stats_idx;
|
|
|
es = &veb->stats;
|
|
es = &veb->stats;
|
|
|
oes = &veb->stats_offsets;
|
|
oes = &veb->stats_offsets;
|
|
|
|
|
+ veb_es = &veb->tc_stats;
|
|
|
|
|
+ veb_oes = &veb->tc_stats_offsets;
|
|
|
|
|
|
|
|
/* Gather up the stats that the hw collects */
|
|
/* Gather up the stats that the hw collects */
|
|
|
i40e_stat_update32(hw, I40E_GLSW_TDPC(idx),
|
|
i40e_stat_update32(hw, I40E_GLSW_TDPC(idx),
|
|
@@ -664,6 +668,28 @@ static void i40e_update_veb_stats(struct i40e_veb *veb)
|
|
|
i40e_stat_update48(hw, I40E_GLSW_BPTCH(idx), I40E_GLSW_BPTCL(idx),
|
|
i40e_stat_update48(hw, I40E_GLSW_BPTCH(idx), I40E_GLSW_BPTCL(idx),
|
|
|
veb->stat_offsets_loaded,
|
|
veb->stat_offsets_loaded,
|
|
|
&oes->tx_broadcast, &es->tx_broadcast);
|
|
&oes->tx_broadcast, &es->tx_broadcast);
|
|
|
|
|
+ for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
|
|
|
|
|
+ i40e_stat_update48(hw, I40E_GLVEBTC_RPCH(i, idx),
|
|
|
|
|
+ I40E_GLVEBTC_RPCL(i, idx),
|
|
|
|
|
+ veb->stat_offsets_loaded,
|
|
|
|
|
+ &veb_oes->tc_rx_packets[i],
|
|
|
|
|
+ &veb_es->tc_rx_packets[i]);
|
|
|
|
|
+ i40e_stat_update48(hw, I40E_GLVEBTC_RBCH(i, idx),
|
|
|
|
|
+ I40E_GLVEBTC_RBCL(i, idx),
|
|
|
|
|
+ veb->stat_offsets_loaded,
|
|
|
|
|
+ &veb_oes->tc_rx_bytes[i],
|
|
|
|
|
+ &veb_es->tc_rx_bytes[i]);
|
|
|
|
|
+ i40e_stat_update48(hw, I40E_GLVEBTC_TPCH(i, idx),
|
|
|
|
|
+ I40E_GLVEBTC_TPCL(i, idx),
|
|
|
|
|
+ veb->stat_offsets_loaded,
|
|
|
|
|
+ &veb_oes->tc_tx_packets[i],
|
|
|
|
|
+ &veb_es->tc_tx_packets[i]);
|
|
|
|
|
+ i40e_stat_update48(hw, I40E_GLVEBTC_TBCH(i, idx),
|
|
|
|
|
+ I40E_GLVEBTC_TBCL(i, idx),
|
|
|
|
|
+ veb->stat_offsets_loaded,
|
|
|
|
|
+ &veb_oes->tc_tx_bytes[i],
|
|
|
|
|
+ &veb_es->tc_tx_bytes[i]);
|
|
|
|
|
+ }
|
|
|
veb->stat_offsets_loaded = true;
|
|
veb->stat_offsets_loaded = true;
|
|
|
}
|
|
}
|
|
|
|
|
|