/kernel/linux/linux-5.10/drivers/net/ethernet/sfc/ |
H A D | mcdi_filters.c | 382 if (spec->rss_context) in efx_mcdi_filter_insert_locked() 383 ctx = efx_find_rss_context_entry(efx, spec->rss_context); in efx_mcdi_filter_insert_locked() 385 ctx = &efx->rss_context; in efx_mcdi_filter_insert_locked() 489 saved_spec->rss_context = spec->rss_context; in efx_mcdi_filter_insert_locked() 610 (efx_rss_active(&efx->rss_context) ? in efx_mcdi_filter_remove_internal() 613 new_spec.rss_context = 0; in efx_mcdi_filter_remove_internal() 616 &efx->rss_context, in efx_mcdi_filter_remove_internal() 763 filter_flags = efx_rss_active(&efx->rss_context) ? EFX_FILTER_FLAG_RX_RSS : 0; in efx_mcdi_filter_insert_addr_list() 832 filter_flags = efx_rss_active(&efx->rss_context) in efx_mcdi_filter_insert_def() [all...] |
H A D | ethtool_common.c | 645 u32 *rss_context) in efx_ethtool_get_class_rule() 803 *rss_context = spec.rss_context; in efx_ethtool_get_class_rule() 813 u32 rss_context = 0; in efx_ethtool_get_rxnfc() local 822 struct efx_rss_context *ctx = &efx->rss_context; in efx_ethtool_get_rxnfc() 826 if (info->flow_type & FLOW_RSS && info->rss_context) { in efx_ethtool_get_rxnfc() 827 ctx = efx_find_rss_context_entry(efx, info->rss_context); in efx_ethtool_get_rxnfc() 882 rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context); in efx_ethtool_get_rxnfc() 886 info->rss_context = rss_context; in efx_ethtool_get_rxnfc() 643 efx_ethtool_get_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 *rss_context) efx_ethtool_get_class_rule() argument 915 efx_ethtool_set_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 rss_context) efx_ethtool_set_class_rule() argument 1205 efx_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, u8 *key, u8 *hfunc, u32 rss_context) efx_ethtool_get_rxfh_context() argument 1236 efx_ethtool_set_rxfh_context(struct net_device *net_dev, const u32 *indir, const u8 *key, const u8 hfunc, u32 *rss_context, bool delete) efx_ethtool_set_rxfh_context() argument [all...] |
H A D | siena.c | 355 memcpy(efx->rss_context.rx_hash_key, &temp, sizeof(temp)); in siena_rx_pull_rss_config() 357 memcpy(efx->rss_context.rx_hash_key + sizeof(temp), &temp, sizeof(temp)); in siena_rx_pull_rss_config() 359 memcpy(efx->rss_context.rx_hash_key + 2 * sizeof(temp), &temp, in siena_rx_pull_rss_config() 372 memcpy(efx->rss_context.rx_hash_key, key, sizeof(temp)); in siena_rx_push_rss_config() 373 memcpy(&temp, efx->rss_context.rx_hash_key, sizeof(temp)); in siena_rx_push_rss_config() 377 BUILD_BUG_ON(sizeof(efx->rss_context.rx_hash_key) < in siena_rx_push_rss_config() 380 memcpy(&temp, efx->rss_context.rx_hash_key, sizeof(temp)); in siena_rx_push_rss_config() 382 memcpy(&temp, efx->rss_context.rx_hash_key + sizeof(temp), sizeof(temp)); in siena_rx_push_rss_config() 386 memcpy(&temp, efx->rss_context.rx_hash_key + 2 * sizeof(temp), in siena_rx_push_rss_config() 390 memcpy(efx->rss_context in siena_rx_push_rss_config() [all...] |
H A D | ethtool_common.h | 52 u8 *key, u8 *hfunc, u32 rss_context); 55 const u8 hfunc, u32 *rss_context,
|
H A D | filter.h | 125 * @rss_context: RSS context to use, if %EFX_FILTER_FLAG_RX_RSS is set. This 147 * may then be used to set @rss_context, @match_flags and related 159 u32 rss_context; member 187 spec->rss_context = 0; in efx_filter_init_rx()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
H A D | mcdi_filters.c | 385 if (spec->rss_context) in efx_mcdi_filter_insert_locked() 386 ctx = efx_find_rss_context_entry(efx, spec->rss_context); in efx_mcdi_filter_insert_locked() 388 ctx = &efx->rss_context; in efx_mcdi_filter_insert_locked() 492 saved_spec->rss_context = spec->rss_context; in efx_mcdi_filter_insert_locked() 614 (efx_rss_active(&efx->rss_context) ? in efx_mcdi_filter_remove_internal() 617 new_spec.rss_context = 0; in efx_mcdi_filter_remove_internal() 620 &efx->rss_context, in efx_mcdi_filter_remove_internal() 767 filter_flags = efx_rss_active(&efx->rss_context) ? EFX_FILTER_FLAG_RX_RSS : 0; in efx_mcdi_filter_insert_addr_list() 836 filter_flags = efx_rss_active(&efx->rss_context) in efx_mcdi_filter_insert_def() [all...] |
H A D | ethtool_common.c | 646 u32 *rss_context) in efx_ethtool_get_class_rule() 804 *rss_context = spec.rss_context; in efx_ethtool_get_class_rule() 814 u32 rss_context = 0; in efx_ethtool_get_rxnfc() local 823 struct efx_rss_context *ctx = &efx->rss_context; in efx_ethtool_get_rxnfc() 827 if (info->flow_type & FLOW_RSS && info->rss_context) { in efx_ethtool_get_rxnfc() 828 ctx = efx_find_rss_context_entry(efx, info->rss_context); in efx_ethtool_get_rxnfc() 883 rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context); in efx_ethtool_get_rxnfc() 887 info->rss_context = rss_context; in efx_ethtool_get_rxnfc() 644 efx_ethtool_get_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 *rss_context) efx_ethtool_get_class_rule() argument 916 efx_ethtool_set_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 rss_context) efx_ethtool_set_class_rule() argument 1206 efx_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, u8 *key, u8 *hfunc, u32 rss_context) efx_ethtool_get_rxfh_context() argument 1237 efx_ethtool_set_rxfh_context(struct net_device *net_dev, const u32 *indir, const u8 *key, const u8 hfunc, u32 *rss_context, bool delete) efx_ethtool_set_rxfh_context() argument [all...] |
H A D | ethtool_common.h | 52 u8 *key, u8 *hfunc, u32 rss_context); 55 const u8 hfunc, u32 *rss_context,
|
H A D | filter.h | 121 * @rss_context: RSS context to use, if %EFX_FILTER_FLAG_RX_RSS is set. This 146 * may then be used to set @rss_context, @match_flags and related 158 u32 rss_context; member 186 spec->rss_context = 0; in efx_filter_init_rx()
|
H A D | ef100_netdev.c | 475 netdev_rss_key_fill(efx->rss_context.rx_hash_key, in ef100_probe_netdev() 476 sizeof(efx->rss_context.rx_hash_key)); in ef100_probe_netdev()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/siena/ |
H A D | ethtool_common.c | 646 u32 *rss_context) in efx_ethtool_get_class_rule() 804 *rss_context = spec.rss_context; in efx_ethtool_get_class_rule() 814 u32 rss_context = 0; in efx_siena_ethtool_get_rxnfc() local 823 struct efx_rss_context *ctx = &efx->rss_context; in efx_siena_ethtool_get_rxnfc() 827 if (info->flow_type & FLOW_RSS && info->rss_context) { in efx_siena_ethtool_get_rxnfc() 829 info->rss_context); in efx_siena_ethtool_get_rxnfc() 884 rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context); in efx_siena_ethtool_get_rxnfc() 888 info->rss_context = rss_context; in efx_siena_ethtool_get_rxnfc() 644 efx_ethtool_get_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 *rss_context) efx_ethtool_get_class_rule() argument 917 efx_ethtool_set_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 rss_context) efx_ethtool_set_class_rule() argument 1207 efx_siena_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, u8 *key, u8 *hfunc, u32 rss_context) efx_siena_ethtool_get_rxfh_context() argument 1238 efx_siena_ethtool_set_rxfh_context(struct net_device *net_dev, const u32 *indir, const u8 *key, const u8 hfunc, u32 *rss_context, bool delete) efx_siena_ethtool_set_rxfh_context() argument [all...] |
H A D | siena.c | 358 memcpy(efx->rss_context.rx_hash_key, &temp, sizeof(temp)); in siena_rx_pull_rss_config() 360 memcpy(efx->rss_context.rx_hash_key + sizeof(temp), &temp, sizeof(temp)); in siena_rx_pull_rss_config() 362 memcpy(efx->rss_context.rx_hash_key + 2 * sizeof(temp), &temp, in siena_rx_pull_rss_config() 375 memcpy(efx->rss_context.rx_hash_key, key, sizeof(temp)); in siena_rx_push_rss_config() 376 memcpy(&temp, efx->rss_context.rx_hash_key, sizeof(temp)); in siena_rx_push_rss_config() 380 BUILD_BUG_ON(sizeof(efx->rss_context.rx_hash_key) < in siena_rx_push_rss_config() 383 memcpy(&temp, efx->rss_context.rx_hash_key, sizeof(temp)); in siena_rx_push_rss_config() 385 memcpy(&temp, efx->rss_context.rx_hash_key + sizeof(temp), sizeof(temp)); in siena_rx_push_rss_config() 389 memcpy(&temp, efx->rss_context.rx_hash_key + 2 * sizeof(temp), in siena_rx_push_rss_config() 393 memcpy(efx->rss_context in siena_rx_push_rss_config() [all...] |
H A D | ethtool_common.h | 49 u8 *key, u8 *hfunc, u32 rss_context); 52 const u8 hfunc, u32 *rss_context,
|
H A D | filter.h | 125 * @rss_context: RSS context to use, if %EFX_FILTER_FLAG_RX_RSS is set. This 147 * may then be used to set @rss_context, @match_flags and related 159 u32 rss_context; member 186 spec->rss_context = 0; in efx_filter_init_rx()
|
/kernel/linux/linux-6.6/net/ethtool/ |
H A D | rss.c | 8 u32 rss_context; member 38 request->rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]); in rss_parse_request() 61 /* Some drivers don't handle rss_context */ in rss_prepare_data() 62 if (request->rss_context && !ops->get_rxfh_context) in rss_prepare_data() 90 if (request->rss_context) in rss_prepare_data() 92 &dev_hfunc, request->rss_context); in rss_prepare_data()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_ethtool.c | 817 u32 *rss_context) in otx2_rss_ctx_create() 832 *rss_context = ctx; in otx2_rss_ctx_create() 840 u32 *rss_context, bool delete) in otx2_set_rxfh_context() 850 if (*rss_context != ETH_RXFH_CONTEXT_ALLOC && in otx2_set_rxfh_context() 851 *rss_context >= MAX_RSS_GROUPS) in otx2_set_rxfh_context() 866 return otx2_rss_ctx_delete(pfvf, *rss_context); in otx2_set_rxfh_context() 868 if (*rss_context == ETH_RXFH_CONTEXT_ALLOC) { in otx2_set_rxfh_context() 869 ret = otx2_rss_ctx_create(pfvf, rss_context); in otx2_set_rxfh_context() 874 rss_ctx = rss->rss_ctx[*rss_context]; in otx2_set_rxfh_context() 878 otx2_set_rss_table(pfvf, *rss_context); in otx2_set_rxfh_context() 816 otx2_rss_ctx_create(struct otx2_nic *pfvf, u32 *rss_context) otx2_rss_ctx_create() argument 838 otx2_set_rxfh_context(struct net_device *dev, const u32 *indir, const u8 *hkey, const u8 hfunc, u32 *rss_context, bool delete) otx2_set_rxfh_context() argument 883 otx2_get_rxfh_context(struct net_device *dev, u32 *indir, u8 *hkey, u8 *hfunc, u32 rss_context) otx2_get_rxfh_context() argument 935 u32 rss_context = DEFAULT_RSS_CONTEXT_GROUP; otx2_set_rxfh() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_fs_ethtool.c | 425 u32 rss_context, u32 *tirn) in flow_get_tirn() 434 rss = mlx5e_rx_res_rss_get(priv->rx_res, rss_context); in flow_get_tirn() 460 struct ethtool_rx_flow_spec *fs, u32 rss_context) in add_ethtool_flow_rule() 485 err = flow_get_tirn(priv, eth_rule, fs, rss_context, &dst->tir_num); in add_ethtool_flow_rule() 725 struct ethtool_rx_flow_spec *fs, u32 rss_context) in mlx5e_ethtool_flow_replace() 753 rule = add_ethtool_flow_rule(priv, eth_rule, eth_ft->ft, fs, rss_context); in mlx5e_ethtool_flow_replace() 812 info->rss_context = index; in mlx5e_ethtool_get_flow() 905 rss_idx = nfc->rss_context; in mlx5e_set_rss_hash_opt() 951 rss_idx = nfc->rss_context; in mlx5e_get_rss_hash_opt() 982 err = mlx5e_ethtool_flow_replace(priv, &cmd->fs, cmd->rss_context); in mlx5e_ethtool_set_rxnfc() 422 flow_get_tirn(struct mlx5e_priv *priv, struct mlx5e_ethtool_rule *eth_rule, struct ethtool_rx_flow_spec *fs, u32 rss_context, u32 *tirn) flow_get_tirn() argument 457 add_ethtool_flow_rule(struct mlx5e_priv *priv, struct mlx5e_ethtool_rule *eth_rule, struct mlx5_flow_table *ft, struct ethtool_rx_flow_spec *fs, u32 rss_context) add_ethtool_flow_rule() argument 724 mlx5e_ethtool_flow_replace(struct mlx5e_priv *priv, struct ethtool_rx_flow_spec *fs, u32 rss_context) mlx5e_ethtool_flow_replace() argument [all...] |
H A D | en_ethtool.c | 1266 u8 *key, u8 *hfunc, u32 rss_context) in mlx5e_get_rxfh_context() 1272 err = mlx5e_rx_res_rss_get_rxfh(priv->rx_res, rss_context, indir, key, hfunc); in mlx5e_get_rxfh_context() 1279 u32 *rss_context, bool delete) in mlx5e_set_rxfh_context() 1286 err = mlx5e_rx_res_rss_destroy(priv->rx_res, *rss_context); in mlx5e_set_rxfh_context() 1290 if (*rss_context == ETH_RXFH_CONTEXT_ALLOC) { in mlx5e_set_rxfh_context() 1293 err = mlx5e_rx_res_rss_init(priv->rx_res, rss_context, count); in mlx5e_set_rxfh_context() 1298 err = mlx5e_rx_res_rss_set_rxfh(priv->rx_res, *rss_context, indir, key, in mlx5e_set_rxfh_context() 1265 mlx5e_get_rxfh_context(struct net_device *dev, u32 *indir, u8 *key, u8 *hfunc, u32 rss_context) mlx5e_get_rxfh_context() argument 1277 mlx5e_set_rxfh_context(struct net_device *dev, const u32 *indir, const u8 *key, const u8 hfunc, u32 *rss_context, bool delete) mlx5e_set_rxfh_context() argument
|
/kernel/linux/linux-5.10/drivers/net/ethernet/sfc/falcon/ |
H A D | filter.h | 103 * @rss_context: RSS context to use, if %EF4_FILTER_FLAG_RX_RSS is set 121 * may then be used to set @rss_context, @match_flags and related 133 u32 rss_context; member 160 spec->rss_context = EF4_FILTER_RSS_CONTEXT_DEFAULT; in ef4_filter_init_rx()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/falcon/ |
H A D | filter.h | 103 * @rss_context: RSS context to use, if %EF4_FILTER_FLAG_RX_RSS is set 121 * may then be used to set @rss_context, @match_flags and related 133 u32 rss_context; member 160 spec->rss_context = EF4_FILTER_RSS_CONTEXT_DEFAULT; in ef4_filter_init_rx()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_rx.c | 1144 struct mlx4_rss_context *rss_context; in mlx4_en_config_rss_steer() local 1208 rss_context = ptr; in mlx4_en_config_rss_steer() 1209 rss_context->base_qpn = cpu_to_be32(ilog2(rss_rings) << 24 | in mlx4_en_config_rss_steer() 1211 rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn); in mlx4_en_config_rss_steer() 1214 rss_context->base_qpn_udp = rss_context->default_qpn; in mlx4_en_config_rss_steer() 1222 rss_context->flags = rss_mask; in mlx4_en_config_rss_steer() 1223 rss_context->hash_fn = MLX4_RSS_HASH_TOP; in mlx4_en_config_rss_steer() 1225 rss_context->hash_fn = MLX4_RSS_HASH_XOR; in mlx4_en_config_rss_steer() 1227 rss_context in mlx4_en_config_rss_steer() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_rx.c | 1197 struct mlx4_rss_context *rss_context; in mlx4_en_config_rss_steer() local 1261 rss_context = ptr; in mlx4_en_config_rss_steer() 1262 rss_context->base_qpn = cpu_to_be32(ilog2(rss_rings) << 24 | in mlx4_en_config_rss_steer() 1264 rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn); in mlx4_en_config_rss_steer() 1267 rss_context->base_qpn_udp = rss_context->default_qpn; in mlx4_en_config_rss_steer() 1275 rss_context->flags = rss_mask; in mlx4_en_config_rss_steer() 1276 rss_context->hash_fn = MLX4_RSS_HASH_TOP; in mlx4_en_config_rss_steer() 1278 rss_context->hash_fn = MLX4_RSS_HASH_XOR; in mlx4_en_config_rss_steer() 1280 rss_context in mlx4_en_config_rss_steer() [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | ethtool.h | 469 u8 *hfunc, u32 rss_context); 472 u32 *rss_context, bool delete);
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | ethtool.h | 852 u8 *hfunc, u32 rss_context); 855 u32 *rss_context, bool delete);
|
/kernel/linux/linux-5.10/net/ethtool/ |
H A D | ioctl.c | 1189 /* Most drivers don't handle rss_context, check it's 0 as well */ in ethtool_get_rxfh() 1190 if (rxfh.rss_context && !ops->get_rxfh_context) in ethtool_get_rxfh() 1214 if (rxfh.rss_context) in ethtool_get_rxfh() 1217 rxfh.rss_context); in ethtool_get_rxfh() 1265 /* Most drivers don't handle rss_context, check it's 0 as well */ in ethtool_set_rxfh() 1266 if (rxfh.rss_context && !ops->set_rxfh_context) in ethtool_set_rxfh() 1306 if (rxfh.rss_context == 0) { in ethtool_set_rxfh() 1325 if (rxfh.rss_context) in ethtool_set_rxfh() 1327 &rxfh.rss_context, delete); in ethtool_set_rxfh() 1333 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, rss_context), in ethtool_set_rxfh() [all...] |