| /drivers/net/ethernet/mellanox/mlx5/core/en/ |
| A D | rss.c | 165 rss->hash.hfunc = ETH_RSS_HASH_TOP; in mlx5e_rss_params_init() 496 err = mlx5e_rqt_redirect_indir(&rss->rqt, rqns, vhca_ids, num_rqns, rss->hash.hfunc, in mlx5e_rss_apply() 570 void mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc, in mlx5e_rss_get_rxfh() argument 581 if (hfunc) in mlx5e_rss_get_rxfh() 582 *hfunc = rss->hash.hfunc; in mlx5e_rss_get_rxfh() 589 const u8 *key, const u8 *hfunc, const bool *symmetric, in mlx5e_rss_set_rxfh() argument 601 if (hfunc && *hfunc != rss->hash.hfunc) { in mlx5e_rss_set_rxfh() 602 switch (*hfunc) { in mlx5e_rss_set_rxfh() 612 rss->hash.hfunc = *hfunc; in mlx5e_rss_set_rxfh() 616 if (rss->hash.hfunc == ETH_RSS_HASH_TOP) in mlx5e_rss_set_rxfh()
|
| A D | rqt.c | 113 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_calc_indir_rqns() argument 120 if (hfunc == ETH_RSS_HASH_XOR) in mlx5e_calc_indir_rqns() 140 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_rqt_init_indir() argument 158 err = mlx5e_calc_indir_rqns(rss_rqns, rqns, rss_vhca_ids, vhca_ids, num_rqns, hfunc, indir); in mlx5e_rqt_init_indir() 232 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_rqt_redirect_indir() argument 256 err = mlx5e_calc_indir_rqns(rss_rqns, rqns, rss_vhca_ids, vhca_ids, num_rqns, hfunc, indir); in mlx5e_rqt_redirect_indir()
|
| A D | tir.c | 99 static int mlx5e_hfunc_to_hw(u8 hfunc) in mlx5e_hfunc_to_hw() argument 101 switch (hfunc) { in mlx5e_hfunc_to_hw() 122 MLX5_SET(tirc, tirc, rx_hash_fn, mlx5e_hfunc_to_hw(rss_hash->hfunc)); in mlx5e_tir_builder_build_rss() 123 if (rss_hash->hfunc == ETH_RSS_HASH_TOP) { in mlx5e_tir_builder_build_rss()
|
| A D | rqt.h | 32 u8 hfunc, struct mlx5e_rss_params_indir *indir); 45 u8 hfunc, struct mlx5e_rss_params_indir *indir);
|
| A D | rss.h | 50 void mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc, 53 const u8 *key, const u8 *hfunc, const bool *symmetric,
|
| A D | rx_res.h | 52 u32 *indir, u8 *key, u8 *hfunc, 55 const u32 *indir, const u8 *key, const u8 *hfunc,
|
| A D | rx_res.c | 191 u32 *indir, u8 *key, u8 *hfunc, bool *symmetric) in mlx5e_rx_res_rss_get_rxfh() argument 200 mlx5e_rss_get_rxfh(rss, indir, key, hfunc, symmetric); in mlx5e_rx_res_rss_get_rxfh() 204 const u32 *indir, const u8 *key, const u8 *hfunc, in mlx5e_rx_res_rss_set_rxfh() argument 217 return mlx5e_rss_set_rxfh(rss, indir, key, hfunc, symmetric, in mlx5e_rx_res_rss_set_rxfh()
|
| A D | tir.h | 10 u8 hfunc; member
|
| /drivers/net/ethernet/hisilicon/hns3/hns3_common/ |
| A D | hclge_comm_rss.c | 122 const u8 hfunc) in hclge_comm_set_rss_hash_key() argument 127 ret = hclge_comm_parse_rss_hfunc(rss_cfg, hfunc, &hash_algo); in hclge_comm_set_rss_hash_key() 201 const u8 hfunc, u8 *hash_algo) in hclge_comm_parse_rss_hfunc() argument 203 switch (hfunc) { in hclge_comm_parse_rss_hfunc() 347 u8 *hfunc) in hclge_comm_get_rss_hash_info() argument 350 if (hfunc) { in hclge_comm_get_rss_hash_info() 353 *hfunc = ETH_RSS_HASH_TOP; in hclge_comm_get_rss_hash_info() 356 *hfunc = ETH_RSS_HASH_XOR; in hclge_comm_get_rss_hash_info() 359 *hfunc = ETH_RSS_HASH_UNKNOWN; in hclge_comm_get_rss_hash_info() 383 int hclge_comm_set_rss_algo_key(struct hclge_comm_hw *hw, const u8 hfunc, in hclge_comm_set_rss_algo_key() argument [all …]
|
| A D | hclge_comm_rss.h | 103 const u8 hfunc, u8 *hash_algo); 105 u8 *hfunc); 108 int hclge_comm_set_rss_algo_key(struct hclge_comm_hw *hw, const u8 hfunc, 128 const u8 hfunc);
|
| /drivers/net/ethernet/mellanox/mlx5/core/ |
| A D | en_ethtool.c | 506 if (mlx5e_rx_res_get_current_hash(priv->rx_res).hfunc == ETH_RSS_HASH_XOR) { in mlx5e_ethtool_set_channels() 1487 &rxfh->hfunc, &symmetric); in mlx5e_get_rxfh() 1503 if (rxfh->hfunc == ETH_RSS_HASH_XOR) { in mlx5e_rxfh_hfunc_check() 1522 u8 hfunc = rxfh->hfunc; in mlx5e_set_rxfh() local 1533 hfunc == ETH_RSS_HASH_NO_CHANGE ? NULL : &hfunc, in mlx5e_set_rxfh() 1548 u8 hfunc = rxfh->hfunc; in mlx5e_create_rxfh_context() local 1564 hfunc == ETH_RSS_HASH_NO_CHANGE ? NULL : &hfunc, in mlx5e_create_rxfh_context() 1572 &ctx->hfunc, &symmetric); in mlx5e_create_rxfh_context() 1588 u8 hfunc = rxfh->hfunc; in mlx5e_modify_rxfh_context() local 1599 hfunc == ETH_RSS_HASH_NO_CHANGE ? NULL : &hfunc, in mlx5e_modify_rxfh_context()
|
| /drivers/net/ethernet/marvell/octeontx2/nic/ |
| A D | otx2_ethtool.c | 813 if (rxfh->hfunc && rxfh->hfunc != ETH_RSS_HASH_TOP) in otx2_create_rxfh() 815 ctx->hfunc = ETH_RSS_HASH_TOP; in otx2_create_rxfh() 840 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in otx2_modify_rxfh() 841 rxfh->hfunc != ETH_RSS_HASH_TOP) in otx2_modify_rxfh() 880 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in otx2_set_rxfh() 881 rxfh->hfunc != ETH_RSS_HASH_TOP) in otx2_set_rxfh() 916 rxfh->hfunc = ETH_RSS_HASH_TOP; in otx2_get_rxfh()
|
| /drivers/net/ethernet/intel/iavf/ |
| A D | iavf_ethtool.c | 1423 symm = !!(adapter->hfunc == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC); in iavf_set_rxfh_fields() 1698 rxfh->hfunc = ETH_RSS_HASH_TOP; in iavf_get_rxfh() 1699 if (adapter->hfunc == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC) in iavf_get_rxfh() 1730 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in iavf_set_rxfh() 1731 rxfh->hfunc != ETH_RSS_HASH_TOP) in iavf_set_rxfh() 1735 adapter->hfunc != VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC) { in iavf_set_rxfh() 1738 adapter->hfunc = VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC; in iavf_set_rxfh() 1741 adapter->hfunc != VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC) { in iavf_set_rxfh() 1742 adapter->hfunc = VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC; in iavf_set_rxfh()
|
| /drivers/net/ethernet/sfc/ |
| A D | ethtool_common.c | 1173 rxfh->hfunc = ETH_RSS_HASH_TOP; in efx_ethtool_get_rxfh() 1199 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in efx_ethtool_modify_rxfh_context() 1200 rxfh->hfunc != ETH_RSS_HASH_TOP) { in efx_ethtool_modify_rxfh_context() 1238 if (rxfh->hfunc == ETH_RSS_HASH_NO_CHANGE) in efx_ethtool_create_rxfh_context() 1239 ctx->hfunc = ETH_RSS_HASH_TOP; in efx_ethtool_create_rxfh_context() 1273 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in efx_ethtool_set_rxfh() 1274 rxfh->hfunc != ETH_RSS_HASH_TOP) in efx_ethtool_set_rxfh()
|
| /drivers/net/ethernet/microsoft/mana/ |
| A D | mana_ethtool.c | 308 rxfh->hfunc = ETH_RSS_HASH_TOP; /* Toeplitz */ in mana_get_rxfh() 334 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in mana_set_rxfh() 335 rxfh->hfunc != ETH_RSS_HASH_TOP) in mana_set_rxfh()
|
| /drivers/net/ethernet/hisilicon/hns/ |
| A D | hns_ae_adapt.c | 882 u8 *hfunc) in hns_ae_get_rss() argument 887 if (hfunc) in hns_ae_get_rss() 888 *hfunc = ETH_RSS_HASH_TOP; in hns_ae_get_rss() 903 const u8 *key, const u8 hfunc) in hns_ae_set_rss() argument
|
| A D | hns_ethtool.c | 1205 rxfh->indir, rxfh->key, &rxfh->hfunc); in hns_get_rss() 1223 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in hns_set_rss() 1224 rxfh->hfunc != ETH_RSS_HASH_TOP) { in hns_set_rss() 1230 rxfh->indir, rxfh->key, rxfh->hfunc); in hns_set_rss()
|
| A D | hnae.h | 525 u8 *hfunc); 527 const u8 *key, const u8 hfunc);
|
| /drivers/net/ethernet/mellanox/mlx4/ |
| A D | en_ethtool.c | 1220 static int mlx4_en_check_rxfh_func(struct net_device *dev, u8 hfunc) in mlx4_en_check_rxfh_func() argument 1225 if (hfunc == ETH_RSS_HASH_TOP) { in mlx4_en_check_rxfh_func() 1231 } else if (hfunc == ETH_RSS_HASH_XOR) { in mlx4_en_check_rxfh_func() 1259 rxfh->hfunc = priv->rss_hash_fn; in mlx4_en_get_rxfh() 1295 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE) { in mlx4_en_set_rxfh() 1296 err = mlx4_en_check_rxfh_func(dev, rxfh->hfunc); in mlx4_en_set_rxfh() 1311 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE) in mlx4_en_set_rxfh() 1312 priv->rss_hash_fn = rxfh->hfunc; in mlx4_en_set_rxfh()
|
| /drivers/net/ethernet/cisco/enic/ |
| A D | enic_ethtool.c | 623 rxfh->hfunc = ETH_RSS_HASH_TOP; in enic_get_rxfh() 635 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in enic_set_rxfh() 636 rxfh->hfunc != ETH_RSS_HASH_TOP)) in enic_set_rxfh()
|
| /drivers/net/ethernet/amd/xgbe/ |
| A D | xgbe-ethtool.c | 432 rxfh->hfunc = ETH_RSS_HASH_TOP; in xgbe_get_rxfh() 445 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in xgbe_set_rxfh() 446 rxfh->hfunc != ETH_RSS_HASH_TOP) { in xgbe_set_rxfh()
|
| /drivers/net/ethernet/meta/fbnic/ |
| A D | fbnic_ethtool.c | 1222 rxfh->hfunc = ETH_RSS_HASH_TOP; in fbnic_get_rxfh() 1263 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in fbnic_set_rxfh() 1264 rxfh->hfunc != ETH_RSS_HASH_TOP) in fbnic_set_rxfh() 1376 if (rxfh->hfunc && rxfh->hfunc != ETH_RSS_HASH_TOP) { in fbnic_create_rxfh_context() 1380 ctx->hfunc = ETH_RSS_HASH_TOP; in fbnic_create_rxfh_context()
|
| /drivers/net/ethernet/fungible/funeth/ |
| A D | funeth_ethtool.c | 995 rxfh->hfunc = fp->hash_algo == FUN_ETH_RSS_ALG_TOEPLITZ ? in fun_get_rxfh() 1013 if (rxfh->hfunc == ETH_RSS_HASH_NO_CHANGE) in fun_set_rxfh() 1015 else if (rxfh->hfunc == ETH_RSS_HASH_CRC32) in fun_set_rxfh() 1017 else if (rxfh->hfunc == ETH_RSS_HASH_TOP) in fun_set_rxfh()
|
| /drivers/net/ethernet/aquantia/atlantic/ |
| A D | aq_ethtool.c | 454 rxfh->hfunc = ETH_RSS_HASH_TOP; /* Toeplitz */ in aq_ethtool_get_rss() 480 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in aq_ethtool_set_rss() 481 rxfh->hfunc != ETH_RSS_HASH_TOP) in aq_ethtool_set_rss()
|
| /drivers/net/ethernet/huawei/hinic/ |
| A D | hinic_ethtool.c | 1138 rxfh->hfunc = hash_engine_type ? ETH_RSS_HASH_TOP : ETH_RSS_HASH_XOR; in hinic_get_rxfh() 1166 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE) { in hinic_set_rxfh() 1167 if (rxfh->hfunc != ETH_RSS_HASH_TOP && in hinic_set_rxfh() 1168 rxfh->hfunc != ETH_RSS_HASH_XOR) in hinic_set_rxfh() 1171 nic_dev->rss_hash_engine = (rxfh->hfunc == ETH_RSS_HASH_XOR) ? in hinic_set_rxfh()
|