Home
last modified time | relevance | path

Searched refs:hfunc (Results 1 – 25 of 74) sorted by relevance

123

/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Drss.c165 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 int mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc, bool *symmetric) in mlx5e_rss_get_rxfh() argument
580 if (hfunc) in mlx5e_rss_get_rxfh()
581 *hfunc = rss->hash.hfunc; in mlx5e_rss_get_rxfh()
590 const u8 *key, const u8 *hfunc, const bool *symmetric, in mlx5e_rss_set_rxfh() argument
602 if (hfunc && *hfunc != rss->hash.hfunc) { in mlx5e_rss_set_rxfh()
603 switch (*hfunc) { in mlx5e_rss_set_rxfh()
613 rss->hash.hfunc = *hfunc; in mlx5e_rss_set_rxfh()
617 if (rss->hash.hfunc == ETH_RSS_HASH_TOP) in mlx5e_rss_set_rxfh()
H A Drqt.c113 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()
H A Dtir.c99 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()
H A Drqt.h32 u8 hfunc, struct mlx5e_rss_params_indir *indir);
45 u8 hfunc, struct mlx5e_rss_params_indir *indir);
H A Drss.h50 int mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc, bool *symmetric);
52 const u8 *key, const u8 *hfunc, const bool *symmetric,
H A Drx_res.h52 u32 *indir, u8 *key, u8 *hfunc, bool *symmetric);
54 const u32 *indir, const u8 *key, const u8 *hfunc,
H A Dtir.h10 u8 hfunc; member
H A Drx_res.c197 u32 *indir, u8 *key, u8 *hfunc, bool *symmetric) in mlx5e_rx_res_rss_get_rxfh() argument
208 return mlx5e_rss_get_rxfh(rss, indir, key, hfunc, symmetric); in mlx5e_rx_res_rss_get_rxfh()
212 const u32 *indir, const u8 *key, const u8 *hfunc, in mlx5e_rx_res_rss_set_rxfh() argument
225 return mlx5e_rss_set_rxfh(rss, indir, key, hfunc, symmetric, in mlx5e_rx_res_rss_set_rxfh()
/linux-6.15/drivers/net/ethernet/hisilicon/hns3/hns3_common/
H A Dhclge_comm_rss.c122 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 …]
H A Dhclge_comm_rss.h103 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);
/linux-6.15/net/ethtool/
H A Drss.c18 u32 hfunc; member
97 data->hfunc = rxfh.hfunc; in rss_prepare_get()
120 data->hfunc = ctx->hfunc; in rss_prepare_ctx()
201 if ((data->hfunc && in rss_fill_reply()
202 nla_put_u32(skb, ETHTOOL_A_RSS_HFUNC, data->hfunc)) || in rss_fill_reply()
H A Dioctl.c1200 rxfh_dev.hfunc = ETH_RSS_HASH_NO_CHANGE; in ethtool_set_rxfh_indir()
1287 rxfh_dev.hfunc = ctx->hfunc; in ethtool_get_rxfh()
1297 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, hfunc), in ethtool_get_rxfh()
1298 &rxfh_dev.hfunc, sizeof(rxfh.hfunc))) { in ethtool_get_rxfh()
1349 ctx->hfunc = ETH_RSS_HASH_NO_CHANGE; in ethtool_rxfh_ctx_alloc()
1412 rxfh.key_size == 0 && rxfh.hfunc == ETH_RSS_HASH_NO_CHANGE && in ethtool_set_rxfh()
1421 (rxfh.hfunc && rxfh.hfunc != ETH_RSS_HASH_NO_CHANGE) || in ethtool_set_rxfh()
1518 rxfh_dev.hfunc = rxfh.hfunc; in ethtool_set_rxfh()
1610 if (rxfh_dev.hfunc != ETH_RSS_HASH_NO_CHANGE) in ethtool_set_rxfh()
1611 ctx->hfunc = rxfh_dev.hfunc; in ethtool_set_rxfh()
/linux-6.15/drivers/net/ethernet/microsoft/mana/
H A Dmana_ethtool.c240 rxfh->hfunc = ETH_RSS_HASH_TOP; /* Toeplitz */ in mana_get_rxfh()
266 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in mana_set_rxfh()
267 rxfh->hfunc != ETH_RSS_HASH_TOP) in mana_set_rxfh()
/linux-6.15/drivers/net/ethernet/intel/iavf/
H A Diavf_ethtool.c1446 symm = !!(adapter->hfunc == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC); in iavf_set_adv_rss_hash_opt()
1745 rxfh->hfunc = ETH_RSS_HASH_TOP; in iavf_get_rxfh()
1746 if (adapter->hfunc == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC) in iavf_get_rxfh()
1777 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in iavf_set_rxfh()
1778 rxfh->hfunc != ETH_RSS_HASH_TOP) in iavf_set_rxfh()
1782 adapter->hfunc != VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC) { in iavf_set_rxfh()
1785 adapter->hfunc = VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC; in iavf_set_rxfh()
1788 adapter->hfunc != VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC) { in iavf_set_rxfh()
1789 adapter->hfunc = VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC; in iavf_set_rxfh()
/linux-6.15/drivers/net/ethernet/sfc/
H A Dethtool_common.c1172 rxfh->hfunc = ETH_RSS_HASH_TOP; in efx_ethtool_get_rxfh()
1198 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in efx_ethtool_modify_rxfh_context()
1199 rxfh->hfunc != ETH_RSS_HASH_TOP) { in efx_ethtool_modify_rxfh_context()
1237 if (rxfh->hfunc == ETH_RSS_HASH_NO_CHANGE) in efx_ethtool_create_rxfh_context()
1238 ctx->hfunc = ETH_RSS_HASH_TOP; in efx_ethtool_create_rxfh_context()
1272 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in efx_ethtool_set_rxfh()
1273 rxfh->hfunc != ETH_RSS_HASH_TOP) in efx_ethtool_set_rxfh()
/linux-6.15/drivers/net/ethernet/cisco/enic/
H A Denic_ethtool.c624 rxfh->hfunc = ETH_RSS_HASH_TOP; in enic_get_rxfh()
636 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in enic_set_rxfh()
637 rxfh->hfunc != ETH_RSS_HASH_TOP)) in enic_set_rxfh()
/linux-6.15/drivers/net/ethernet/meta/fbnic/
H A Dfbnic_ethtool.c1113 rxfh->hfunc = ETH_RSS_HASH_TOP; in fbnic_get_rxfh()
1154 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in fbnic_set_rxfh()
1155 rxfh->hfunc != ETH_RSS_HASH_TOP) in fbnic_set_rxfh()
1213 if (rxfh->hfunc && rxfh->hfunc != ETH_RSS_HASH_TOP) { in fbnic_create_rxfh_context()
1217 ctx->hfunc = ETH_RSS_HASH_TOP; in fbnic_create_rxfh_context()
/linux-6.15/drivers/net/ethernet/hisilicon/hns/
H A Dhns_ae_adapt.c882 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
H A Dhns_ethtool.c1205 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()
H A Dhnae.h525 u8 *hfunc);
527 const u8 *key, const u8 hfunc);
/linux-6.15/drivers/net/ethernet/amd/xgbe/
H A Dxgbe-ethtool.c541 rxfh->hfunc = ETH_RSS_HASH_TOP; in xgbe_get_rxfh()
554 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in xgbe_set_rxfh()
555 rxfh->hfunc != ETH_RSS_HASH_TOP) { in xgbe_set_rxfh()
/linux-6.15/drivers/net/ethernet/mellanox/mlx4/
H A Den_ethtool.c1220 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()
/linux-6.15/drivers/net/ethernet/fungible/funeth/
H A Dfuneth_ethtool.c995 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()
/linux-6.15/drivers/net/ethernet/aquantia/atlantic/
H A Daq_ethtool.c454 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()
/linux-6.15/drivers/net/ethernet/huawei/hinic/
H A Dhinic_ethtool.c1155 rxfh->hfunc = hash_engine_type ? ETH_RSS_HASH_TOP : ETH_RSS_HASH_XOR; in hinic_get_rxfh()
1183 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE) { in hinic_set_rxfh()
1184 if (rxfh->hfunc != ETH_RSS_HASH_TOP && in hinic_set_rxfh()
1185 rxfh->hfunc != ETH_RSS_HASH_XOR) in hinic_set_rxfh()
1188 nic_dev->rss_hash_engine = (rxfh->hfunc == ETH_RSS_HASH_XOR) ? in hinic_set_rxfh()

123