Home
last modified time | relevance | path

Searched refs:ets (Results 1 – 25 of 27) sorted by relevance

12

/linux/drivers/net/ethernet/intel/fm10k/
H A Dfm10k_dcbnl.c11 static int fm10k_dcbnl_ieee_getets(struct net_device *dev, struct ieee_ets *ets) in fm10k_dcbnl_ieee_getets() argument
16 ets->ets_cap = IEEE_8021QAZ_MAX_TCS; in fm10k_dcbnl_ieee_getets()
17 ets->cbs = 0; in fm10k_dcbnl_ieee_getets()
20 memset(ets->tc_tx_bw, 0, sizeof(ets->tc_tx_bw)); in fm10k_dcbnl_ieee_getets()
21 memset(ets->tc_rx_bw, 0, sizeof(ets->tc_rx_bw)); in fm10k_dcbnl_ieee_getets()
22 memset(ets->tc_tsa, IEEE_8021QAZ_TSA_STRICT, sizeof(ets->tc_tsa)); in fm10k_dcbnl_ieee_getets()
26 ets->prio_tc[i] = netdev_get_prio_tc_map(dev, i); in fm10k_dcbnl_ieee_getets()
36 static int fm10k_dcbnl_ieee_setets(struct net_device *dev, struct ieee_ets *ets) in fm10k_dcbnl_ieee_setets() argument
43 if (ets->tc_tx_bw[i] || ets->tc_rx_bw[i]) in fm10k_dcbnl_ieee_setets()
45 if (ets->tc_tsa[i] != IEEE_8021QAZ_TSA_STRICT) in fm10k_dcbnl_ieee_setets()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_dcbnl.c108 struct ieee_ets *ets) in mlx5e_dcbnl_ieee_getets() argument
118 if (!MLX5_CAP_GEN(priv->mdev, ets)) in mlx5e_dcbnl_ieee_getets()
122 err = mlx5_query_port_prio_tc(mdev, i, &ets->prio_tc[i]); in mlx5e_dcbnl_ieee_getets()
127 ets->ets_cap = mlx5_max_tc(priv->mdev) + 1; in mlx5e_dcbnl_ieee_getets()
128 for (i = 0; i < ets->ets_cap; i++) { in mlx5e_dcbnl_ieee_getets()
133 err = mlx5_query_port_tc_bw_alloc(mdev, i, &ets->tc_tx_bw[i]); in mlx5e_dcbnl_ieee_getets()
137 if (ets->tc_tx_bw[i] < MLX5E_MAX_BW_ALLOC && in mlx5e_dcbnl_ieee_getets()
147 for (i = 0; i < ets->ets_cap; i++) in mlx5e_dcbnl_ieee_getets()
149 ets->tc_tx_bw[i] = 0; in mlx5e_dcbnl_ieee_getets()
153 for (i = 0; i < ets->ets_cap; i++) { in mlx5e_dcbnl_ieee_getets()
[all …]
/linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/
H A Dhclge_dcb.c12 struct ieee_ets *ets) in hclge_ieee_ets_to_tm_info() argument
17 switch (ets->tc_tsa[i]) { in hclge_ieee_ets_to_tm_info()
27 ets->tc_tx_bw[i]; in hclge_ieee_ets_to_tm_info()
39 hclge_tm_prio_tc_info_update(hdev, ets->prio_tc); in hclge_ieee_ets_to_tm_info()
45 struct ieee_ets *ets) in hclge_tm_info_to_ieee_ets() argument
49 memset(ets, 0, sizeof(*ets)); in hclge_tm_info_to_ieee_ets()
50 ets->willing = 1; in hclge_tm_info_to_ieee_ets()
51 ets->ets_cap = hdev->tc_max; in hclge_tm_info_to_ieee_ets()
54 ets->prio_tc[i] = hdev->tm_info.prio_tc[i]; in hclge_tm_info_to_ieee_ets()
56 ets->tc_tx_bw[i] = hdev->tm_info.pg_info[0].tc_dwrr[i]; in hclge_tm_info_to_ieee_ets()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_dcb_nl.c288 struct ieee_ets *ets) in mlx4_en_dcbnl_ieee_getets() argument
291 struct ieee_ets *my_ets = &priv->ets; in mlx4_en_dcbnl_ieee_getets()
293 ets->ets_cap = IEEE_8021QAZ_MAX_TCS; in mlx4_en_dcbnl_ieee_getets()
294 ets->cbs = my_ets->cbs; in mlx4_en_dcbnl_ieee_getets()
295 memcpy(ets->tc_tx_bw, my_ets->tc_tx_bw, sizeof(ets->tc_tx_bw)); in mlx4_en_dcbnl_ieee_getets()
296 memcpy(ets->tc_tsa, my_ets->tc_tsa, sizeof(ets->tc_tsa)); in mlx4_en_dcbnl_ieee_getets()
297 memcpy(ets->prio_tc, my_ets->prio_tc, sizeof(ets->prio_tc)); in mlx4_en_dcbnl_ieee_getets()
302 static int mlx4_en_ets_validate(struct mlx4_en_priv *priv, struct ieee_ets *ets) in mlx4_en_ets_validate() argument
309 if (ets->prio_tc[i] >= MLX4_EN_NUM_UP_HIGH) { in mlx4_en_ets_validate()
311 i, ets->prio_tc[i]); in mlx4_en_ets_validate()
[all …]
/linux/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_dcb.c40 static int bnxt_hwrm_queue_pri2cos_cfg(struct bnxt *bp, struct ieee_ets *ets) in bnxt_hwrm_queue_pri2cos_cfg() argument
60 qidx = bp->tc_to_qidx[ets->prio_tc[i]]; in bnxt_hwrm_queue_pri2cos_cfg()
66 static int bnxt_hwrm_queue_pri2cos_qcfg(struct bnxt *bp, struct ieee_ets *ets) in bnxt_hwrm_queue_pri2cos_qcfg() argument
89 ets->prio_tc[i] = tc; in bnxt_hwrm_queue_pri2cos_qcfg()
96 static int bnxt_hwrm_queue_cos2bw_cfg(struct bnxt *bp, struct ieee_ets *ets, in bnxt_hwrm_queue_cos2bw_cfg() argument
116 if (ets->tc_tsa[i] == IEEE_8021QAZ_TSA_STRICT) { in bnxt_hwrm_queue_cos2bw_cfg()
123 cos2bw.bw_weight = ets->tc_tx_bw[i]; in bnxt_hwrm_queue_cos2bw_cfg()
128 cpu_to_le32((ets->tc_tx_bw[i] * 100) | in bnxt_hwrm_queue_cos2bw_cfg()
145 static int bnxt_hwrm_queue_cos2bw_qcfg(struct bnxt *bp, struct ieee_ets *ets) in bnxt_hwrm_queue_cos2bw_qcfg() argument
183 ets->tc_tsa[tc] = IEEE_8021QAZ_TSA_STRICT; in bnxt_hwrm_queue_cos2bw_qcfg()
[all …]
/linux/drivers/net/ethernet/broadcom/bnx2x/
H A Dbnx2x_dcb.c45 struct dcbx_ets_feature *ets,
50 struct dcbx_ets_feature *ets);
78 bp->dcbx_port_params.ets.num_of_cos; in bnx2x_pfc_set()
81 for (i = 0; i < bp->dcbx_port_params.ets.num_of_cos; i++) in bnx2x_pfc_set()
88 bp->dcbx_port_params.ets.cos_params[i].pri_bitmask in bnx2x_pfc_set()
135 "local_mib.features.ets.enabled %x\n", features->ets.enabled); in bnx2x_dump_dcbx_drv_param()
139 DCBX_PG_BW_GET(features->ets.pg_bw_tbl, i)); in bnx2x_dump_dcbx_drv_param()
143 DCBX_PRI_PG_GET(features->ets.pri_pg_tbl, i)); in bnx2x_dump_dcbx_drv_param()
275 struct dcbx_ets_feature *ets, in bnx2x_dcbx_get_ets_feature() argument
281 bp->dcbx_port_params.ets.cos_params; in bnx2x_dcbx_get_ets_feature()
[all …]
H A Dbnx2x_dcb.h65 struct bnx2x_dcbx_pg_params ets; member
74 (bp)->dcbx_port_params.ets.enabled)
H A Dbnx2x_hsi.h1873 struct dcbx_ets_feature ets; member
/linux/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_dcb.c24 struct ieee_ets *ets) in mlxsw_sp_dcbnl_ieee_getets() argument
28 memcpy(ets, mlxsw_sp_port->dcb.ets, sizeof(*ets)); in mlxsw_sp_dcbnl_ieee_getets()
34 struct ieee_ets *ets) in mlxsw_sp_port_ets_validate() argument
41 switch (ets->tc_tsa[i]) { in mlxsw_sp_port_ets_validate()
46 tx_bw_sum += ets->tc_tx_bw[i]; in mlxsw_sp_port_ets_validate()
53 if (ets->prio_tc[i] >= IEEE_8021QAZ_MAX_TCS) { in mlxsw_sp_port_ets_validate()
68 struct ieee_ets *ets) in mlxsw_sp_port_headroom_ets_set() argument
77 hdroom.prios.prio[prio].ets_buf_idx = ets->prio_tc[prio]; in mlxsw_sp_port_headroom_ets_set()
92 struct ieee_ets *ets) in __mlxsw_sp_dcbnl_ieee_setets() argument
94 struct ieee_ets *my_ets = mlxsw_sp_port->dcb.ets; in __mlxsw_sp_dcbnl_ieee_setets()
[all …]
/linux/drivers/net/ethernet/intel/i40e/
H A Di40e_dcb_nl.c35 struct ieee_ets *ets) in i40e_dcbnl_ieee_getets() argument
44 ets->willing = dcbxcfg->etscfg.willing; in i40e_dcbnl_ieee_getets()
45 ets->ets_cap = I40E_MAX_TRAFFIC_CLASS; in i40e_dcbnl_ieee_getets()
46 ets->cbs = dcbxcfg->etscfg.cbs; in i40e_dcbnl_ieee_getets()
47 memcpy(ets->tc_tx_bw, dcbxcfg->etscfg.tcbwtable, in i40e_dcbnl_ieee_getets()
48 sizeof(ets->tc_tx_bw)); in i40e_dcbnl_ieee_getets()
49 memcpy(ets->tc_rx_bw, dcbxcfg->etscfg.tcbwtable, in i40e_dcbnl_ieee_getets()
50 sizeof(ets->tc_rx_bw)); in i40e_dcbnl_ieee_getets()
51 memcpy(ets->tc_tsa, dcbxcfg->etscfg.tsatable, in i40e_dcbnl_ieee_getets()
52 sizeof(ets->tc_tsa)); in i40e_dcbnl_ieee_getets()
[all …]
/linux/drivers/net/ethernet/intel/ice/
H A Dice_dcb_nl.c32 static int ice_dcbnl_getets(struct net_device *netdev, struct ieee_ets *ets) in ice_dcbnl_getets() argument
40 ets->willing = dcbxcfg->etscfg.willing; in ice_dcbnl_getets()
41 ets->ets_cap = dcbxcfg->etscfg.maxtcs; in ice_dcbnl_getets()
42 ets->cbs = dcbxcfg->etscfg.cbs; in ice_dcbnl_getets()
43 memcpy(ets->tc_tx_bw, dcbxcfg->etscfg.tcbwtable, sizeof(ets->tc_tx_bw)); in ice_dcbnl_getets()
44 memcpy(ets->tc_rx_bw, dcbxcfg->etscfg.tcbwtable, sizeof(ets->tc_rx_bw)); in ice_dcbnl_getets()
45 memcpy(ets->tc_tsa, dcbxcfg->etscfg.tsatable, sizeof(ets->tc_tsa)); in ice_dcbnl_getets()
46 memcpy(ets->prio_tc, dcbxcfg->etscfg.prio_table, sizeof(ets->prio_tc)); in ice_dcbnl_getets()
47 memcpy(ets->tc_reco_bw, dcbxcfg->etsrec.tcbwtable, in ice_dcbnl_getets()
48 sizeof(ets->tc_reco_bw)); in ice_dcbnl_getets()
[all …]
/linux/drivers/net/ethernet/netronome/nfp/nic/
H A Ddcb.c70 struct ieee_ets *ets) in nfp_nic_dcbnl_ieee_getets() argument
78 ets->prio_tc[i] = dcb->prio2tc[i]; in nfp_nic_dcbnl_ieee_getets()
79 ets->tc_tx_bw[i] = dcb->tc_tx_pct[i]; in nfp_nic_dcbnl_ieee_getets()
80 ets->tc_tsa[i] = dcb->tc_tsa[i]; in nfp_nic_dcbnl_ieee_getets()
209 static int dcb_ets_check(struct net_device *dev, struct ieee_ets *ets) in dcb_ets_check() argument
218 if (ets->tc_tsa[i] == IEEE_8021QAZ_TSA_ETS) { in dcb_ets_check()
220 sum += ets->tc_tx_bw[i]; in dcb_ets_check()
221 } else if (ets->tc_tx_bw[i]) { in dcb_ets_check()
264 struct ieee_ets *ets) in nfp_nic_dcbnl_ieee_setets() argument
274 err = dcb_ets_check(dev, ets); in nfp_nic_dcbnl_ieee_setets()
[all …]
/linux/tools/testing/selftests/drivers/net/mlxsw/
H A Dqos_headroom.sh49 dcb -j ets show dev $swp |
124 dcb ets set dev $swp prio-tc 0:0 1:2 2:4 3:6 4:1 5:3 6:5 7:7
130 dcb ets set dev $swp prio-tc all:0
177 dcb ets set dev $swp prio-tc all:0 5:1 6:2 7:3
225 dcb ets set dev $swp prio-tc all:0
245 dcb ets set dev $swp prio-tc 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
261 dcb ets set dev $swp prio-tc all:0
H A Dqos_pfc.sh174 ets bands 8 strict 8 priomap 7 6
190 ets bands 8 strict 8 priomap 7 6
207 ets bands 8 strict 8 priomap 7 6
229 ets bands 8 strict 8 priomap 7 6
H A Dsch_offload.sh58 ets bands 8 priomap 7 6 5 4 3 2 1 0
/linux/drivers/net/ethernet/hisilicon/hns3/
H A Dhns3_dcbnl.c7 static int hns3_dcbnl_ieee_getets(struct net_device *ndev, struct ieee_ets *ets) in hns3_dcbnl_ieee_getets() argument
15 return h->kinfo.dcb_ops->ieee_getets(h, ets); in hns3_dcbnl_ieee_getets()
20 static int hns3_dcbnl_ieee_setets(struct net_device *ndev, struct ieee_ets *ets) in hns3_dcbnl_ieee_setets() argument
28 return h->kinfo.dcb_ops->ieee_setets(h, ets); in hns3_dcbnl_ieee_setets()
/linux/drivers/net/ethernet/qlogic/qed/
H A Dqed_dcbx.c345 p_ets = &p_hwfn->p_dcbx_info->operational.features.ets; in qed_dcbx_process_mib_info()
611 p_feat->app.app_pri_tbl, &p_feat->ets, in qed_dcbx_get_local_params()
623 p_feat->app.app_pri_tbl, &p_feat->ets, in qed_dcbx_get_remote_params()
674 p_feat->app.app_pri_tbl, &p_feat->ets, in qed_dcbx_get_operational_params()
1193 qed_dcbx_set_ets_data(p_hwfn, &local_admin->features.ets, in qed_dcbx_set_local_params()
2123 struct ieee_ets *ets, bool remote) in qed_dcbnl_get_ieee_ets() argument
2154 ets->ets_cap = params->max_ets_tc; in qed_dcbnl_get_ieee_ets()
2155 ets->willing = params->ets_willing; in qed_dcbnl_get_ieee_ets()
2156 ets->cbs = params->ets_cbs; in qed_dcbnl_get_ieee_ets()
2157 memcpy(ets->tc_tx_bw, params->ets_tc_bw_tbl, sizeof(ets->tc_tx_bw)); in qed_dcbnl_get_ieee_ets()
[all …]
H A Dqed_mfw_hsi.h398 struct dcbx_ets_feature ets; member
/linux/drivers/net/ethernet/qlogic/qede/
H A Dqede_dcbnl.c255 struct ieee_ets *ets) in qede_dcbnl_ieee_getets() argument
259 return edev->ops->dcb->ieee_getets(edev->cdev, ets); in qede_dcbnl_ieee_getets()
263 struct ieee_ets *ets) in qede_dcbnl_ieee_setets() argument
267 return edev->ops->dcb->ieee_setets(edev->cdev, ets); in qede_dcbnl_ieee_setets()
300 struct ieee_ets *ets) in qede_dcbnl_ieee_peer_getets() argument
304 return edev->ops->dcb->ieee_peer_getets(edev->cdev, ets); in qede_dcbnl_ieee_peer_getets()
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_dcb.c940 static int cxgb4_ieee_read_ets(struct net_device *dev, struct ieee_ets *ets, in cxgb4_ieee_read_ets() argument
953 ets->ets_cap = dcb->pg_num_tcs_supported; in cxgb4_ieee_read_ets()
956 ets->willing = 1; in cxgb4_ieee_read_ets()
986 ets->prio_tc[i] = bwg; in cxgb4_ieee_read_ets()
987 ets->tc_tx_bw[i] = pcmd.u.dcb.pgrate.pgrate[i]; in cxgb4_ieee_read_ets()
988 ets->tc_rx_bw[i] = ets->tc_tx_bw[i]; in cxgb4_ieee_read_ets()
989 ets->tc_tsa[i] = pcmd.u.dcb.pgrate.tsa[i]; in cxgb4_ieee_read_ets()
995 static int cxgb4_ieee_get_ets(struct net_device *dev, struct ieee_ets *ets) in cxgb4_ieee_get_ets() argument
997 return cxgb4_ieee_read_ets(dev, ets, 1); in cxgb4_ieee_get_ets()
1017 static int cxgb4_ieee_peer_ets(struct net_device *dev, struct ieee_ets *ets) in cxgb4_ieee_peer_ets() argument
[all …]
/linux/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_dcb.c303 int ixgbe_dcb_hw_ets(struct ixgbe_hw *hw, struct ieee_ets *ets, int max_frame) in ixgbe_dcb_hw_ets() argument
314 switch (ets->tc_tsa[i]) { in ixgbe_dcb_hw_ets()
331 ixgbe_ieee_credits(ets->tc_tx_bw, refill, max, max_frame); in ixgbe_dcb_hw_ets()
333 bwg_id, prio_type, ets->prio_tc); in ixgbe_dcb_hw_ets()
H A Dixgbe_dcb.h131 int ixgbe_dcb_hw_ets(struct ixgbe_hw *hw, struct ieee_ets *ets, int max);
/linux/include/linux/qed/
H A Dqed_eth_if.h196 int (*ieee_getets)(struct qed_dev *cdev, struct ieee_ets *ets);
197 int (*ieee_setets)(struct qed_dev *cdev, struct ieee_ets *ets);
198 int (*ieee_peer_getets)(struct qed_dev *cdev, struct ieee_ets *ets);
/linux/tools/testing/selftests/net/forwarding/
H A Dsch_ets_tests.sh190 tc class change dev $put classid 10:2 ets quantum 8000
/linux/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/
H A Dkconfig.rst39 …<https://enterprise-support.nvidia.com/s/article/howto-auto-config-pfc-and-ets-on-connectx-4-via-l…

12