| /linux/net/ethtool/ |
| H A D | rss.c | 10 u32 rss_context; member 77 request->rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]); in rss_parse_request() 96 if (req->rss_context && !dev->ethtool_ops->rxfh_per_ctx_fields) in rss_prepare_flow_hash() 103 .rss_context = req->rss_context, in rss_prepare_flow_hash() 214 ctx = xa_load(&dev->ethtool->rss_ctx, request->rss_context); in rss_prepare_ctx() 253 if (request->rss_context) in rss_prepare() 273 if (request->rss_context && !ops->create_rxfh_context) in rss_prepare_data() 305 if (request->rss_context && in rss_fill_reply() 306 nla_put_u32(skb, ETHTOOL_A_RSS_CONTEXT, request->rss_context)) in rss_fill_reply() 402 struct net_device *dev, u32 rss_context) in rss_dump_one_ctx() argument [all …]
|
| /linux/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.priv; 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.priv) ? in efx_mcdi_filter_remove_internal() 617 new_spec.rss_context = 0; in efx_mcdi_filter_remove_internal() 620 &efx->rss_context.priv, in efx_mcdi_filter_remove_internal() 767 filter_flags = efx_rss_active(&efx->rss_context.priv) ? EFX_FILTER_FLAG_RX_RSS : 0; in efx_mcdi_filter_insert_addr_list() 836 filter_flags = efx_rss_active(&efx->rss_context.priv) ? EFX_FILTER_FLAG_RX_RSS : 0; in efx_mcdi_filter_insert_def() 1407 if (spec->rss_context) in efx_mcdi_filter_table_restore() [all …]
|
| H A D | ethtool_common.c | 639 u32 *rss_context) in efx_ethtool_get_class_rule() argument 797 *rss_context = spec.rss_context; in efx_ethtool_get_class_rule() 811 ctx = &efx->rss_context.priv; in efx_ethtool_get_rxfh_fields() 813 if (info->rss_context) { in efx_ethtool_get_rxfh_fields() 814 ctx = efx_find_rss_context_entry(efx, info->rss_context); in efx_ethtool_get_rxfh_fields() 864 u32 rss_context = 0; in efx_ethtool_get_rxnfc() local 880 rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context); in efx_ethtool_get_rxnfc() 884 info->rss_context = rss_context; in efx_ethtool_get_rxnfc() 915 u32 rss_context) in efx_ethtool_set_class_rule() argument 957 spec.rss_context = rss_context; in efx_ethtool_set_class_rule() [all …]
|
| H A D | filter.h | 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()
|
| H A D | efx.c | 301 netdev_rss_key_fill(efx->rss_context.rx_hash_key, in efx_probe_nic() 302 sizeof(efx->rss_context.rx_hash_key)); in efx_probe_nic() 303 efx_set_default_rx_indir_table(efx, efx->rss_context.rx_indir_table); in efx_probe_nic()
|
| H A D | net_driver.h | 1093 struct efx_rss_context rss_context; member
|
| H A D | rx_common.c | 575 for (i = 0; i < ARRAY_SIZE(efx->rss_context.rx_indir_table); i++) in efx_set_default_rx_indir_table()
|
| H A D | efx_common.c | 987 efx->rss_context.priv.context_id = EFX_MCDI_RSS_CONTEXT_INVALID; in efx_init_struct()
|
| /linux/drivers/net/ethernet/sfc/siena/ |
| H A D | ethtool_common.c | 640 u32 *rss_context) in efx_ethtool_get_class_rule() argument 798 *rss_context = spec.rss_context; in efx_ethtool_get_class_rule() 811 if (!efx_rss_active(&efx->rss_context)) /* No RSS */ in efx_siena_ethtool_get_rxfh_fields() 817 if (efx->rss_context.rx_hash_udp_4tuple) in efx_siena_ethtool_get_rxfh_fields() 855 u32 rss_context = 0; in efx_siena_ethtool_get_rxnfc() local 871 rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context); in efx_siena_ethtool_get_rxnfc() 875 info->rss_context = rss_context; in efx_siena_ethtool_get_rxnfc() 906 u32 rss_context) in efx_ethtool_set_class_rule() argument 948 spec.rss_context = rss_context; in efx_ethtool_set_class_rule() 1127 info->rss_context); in efx_siena_ethtool_set_rxnfc() [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.rx_indir_table, rx_indir_table, in siena_rx_push_rss_config() [all …]
|
| H A D | filter.h | 159 u32 rss_context; member 186 spec->rss_context = 0; in efx_filter_init_rx()
|
| H A D | efx.c | 310 netdev_rss_key_fill(efx->rss_context.rx_hash_key, in efx_probe_nic() 311 sizeof(efx->rss_context.rx_hash_key)); in efx_probe_nic() 312 efx_siena_set_default_rx_indir_table(efx, &efx->rss_context); in efx_probe_nic()
|
| H A D | farch.c | 1634 BUILD_BUG_ON(ARRAY_SIZE(efx->rss_context.rx_indir_table) != in efx_farch_rx_push_indir_table() 1639 efx->rss_context.rx_indir_table[i]); in efx_farch_rx_push_indir_table() 1651 BUILD_BUG_ON(ARRAY_SIZE(efx->rss_context.rx_indir_table) != in efx_farch_rx_pull_indir_table() 1658 efx->rss_context.rx_indir_table[i] = EFX_DWORD_FIELD(dword, FRF_BZ_IT_QUEUE); in efx_farch_rx_pull_indir_table() 2038 if ((gen_spec->flags & EFX_FILTER_FLAG_RX_RSS) && gen_spec->rss_context) in efx_farch_filter_from_gen_spec()
|
| H A D | net_driver.h | 1012 struct efx_rss_context rss_context; member
|
| H A D | efx_common.c | 1014 efx->rss_context.context_id = EFX_MCDI_RSS_CONTEXT_INVALID; in efx_siena_init_struct()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en_fs_ethtool.c | 425 u32 rss_context, u32 *tirn) in flow_get_tirn() argument 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() argument 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() argument 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() 907 rss_idx = nfc->rss_context; in mlx5e_ethtool_set_rxfh_fields() 952 rss_idx = nfc->rss_context; in mlx5e_ethtool_get_rxfh_fields() 983 err = mlx5e_ethtool_flow_replace(priv, &cmd->fs, cmd->rss_context); in mlx5e_ethtool_set_rxnfc()
|
| H A D | en_ethtool.c | 1542 err = mlx5e_rx_res_rss_set_rxfh(priv->rx_res, rxfh->rss_context, in mlx5e_set_rxfh() 1568 err = mlx5e_rx_res_rss_init(priv->rx_res, rxfh->rss_context, in mlx5e_create_rxfh_context() 1573 err = mlx5e_rx_res_rss_set_rxfh(priv->rx_res, rxfh->rss_context, in mlx5e_create_rxfh_context() 1579 rxfh->rss_context)); in mlx5e_create_rxfh_context() 1583 mlx5e_rx_res_rss_get_rxfh(priv->rx_res, rxfh->rss_context, in mlx5e_create_rxfh_context() 1611 err = mlx5e_rx_res_rss_set_rxfh(priv->rx_res, rxfh->rss_context, in mlx5e_modify_rxfh_context() 1623 u32 rss_context, in mlx5e_remove_rxfh_context() argument 1630 err = mlx5e_rx_res_rss_destroy(priv->rx_res, rss_context); in mlx5e_remove_rxfh_context()
|
| /linux/drivers/net/ethernet/sfc/falcon/ |
| H A D | filter.h | 133 u32 rss_context; member 160 spec->rss_context = EF4_FILTER_RSS_CONTEXT_DEFAULT; in ef4_filter_init_rx()
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_rx.c | 1171 struct mlx4_rss_context *rss_context; in mlx4_en_config_rss_steer() local 1235 rss_context = ptr; in mlx4_en_config_rss_steer() 1236 rss_context->base_qpn = cpu_to_be32(ilog2(rss_rings) << 24 | in mlx4_en_config_rss_steer() 1238 rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn); in mlx4_en_config_rss_steer() 1241 rss_context->base_qpn_udp = rss_context->default_qpn; in mlx4_en_config_rss_steer() 1249 rss_context->flags = rss_mask; in mlx4_en_config_rss_steer() 1250 rss_context->hash_fn = MLX4_RSS_HASH_TOP; in mlx4_en_config_rss_steer() 1252 rss_context->hash_fn = MLX4_RSS_HASH_XOR; in mlx4_en_config_rss_steer() 1254 rss_context->hash_fn = MLX4_RSS_HASH_TOP; in mlx4_en_config_rss_steer() 1255 memcpy(rss_context->rss_key, priv->rss_key, in mlx4_en_config_rss_steer()
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_ethtool.c | 842 otx2_set_rss_table(pfvf, rxfh->rss_context, ind_tbl); in otx2_create_rxfh() 863 otx2_set_rss_table(pfvf, rxfh->rss_context, rxfh->indir); in otx2_modify_rxfh() 870 u32 rss_context, in otx2_remove_rxfh() argument 880 otx2_rss_ctx_flow_del(pfvf, rss_context); in otx2_remove_rxfh()
|
| /linux/drivers/net/ethernet/marvell/mvpp2/ |
| H A D | mvpp2_main.c | 5655 u32 rss_context = rxfh->rss_context; in mvpp2_ethtool_get_rxfh() local 5660 if (rss_context >= MVPP22_N_RSS_TABLES) in mvpp2_ethtool_get_rxfh() 5666 ret = mvpp22_port_rss_ctx_indir_get(port, rss_context, in mvpp2_ethtool_get_rxfh() 5701 ret = mvpp22_port_rss_ctx_create(port, rxfh->rss_context); in mvpp2_create_rxfh_context() 5706 ret = mvpp22_port_rss_ctx_indir_get(port, rxfh->rss_context, in mvpp2_create_rxfh_context() 5709 ret = mvpp22_port_rss_ctx_indir_set(port, rxfh->rss_context, in mvpp2_create_rxfh_context() 5726 ret = mvpp22_port_rss_ctx_indir_set(port, rxfh->rss_context, in mvpp2_modify_rxfh_context() 5733 u32 rss_context, in mvpp2_remove_rxfh_context() argument 5738 return mvpp22_port_rss_ctx_delete(port, rss_context); in mvpp2_remove_rxfh_context()
|
| H A D | mvpp2_cls.c | 1380 input.rss_ctx = info->rss_context; in mvpp2_ethtool_cls_rule_ins() 1567 rxnfc->rss_context != port_ctx) in mvpp22_port_rss_ctx_delete()
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_ethtool.c | 1255 cmd->rss_context = fltr->base.fw_vnic_id; in bnxt_grxclsrule() 1507 rss_ctx = bnxt_get_rss_ctx_from_index(bp, cmd->rss_context); in bnxt_add_ntuple_cls_rule() 1893 if (rxfh->rss_context) { in bnxt_get_rxfh() 1896 ctx = xa_load(&bp->dev->ethtool->rss_ctx, rxfh->rss_context); in bnxt_get_rxfh() 2028 rss_ctx->index = rxfh->rss_context; in bnxt_create_rxfh_context() 2057 u32 rss_context, in bnxt_remove_rxfh_context() argument
|
| /linux/drivers/net/ethernet/netronome/nfp/ |
| H A D | nfp_net_ethtool.c | 1394 cmd->rss_context = 0; in nfp_net_fs_to_ethtool() 1628 if ((fs->flow_type & FLOW_RSS) && cmd->rss_context) in nfp_net_fs_add()
|