| /linux-6.15/net/ethtool/ |
| H A D | rss.c | 10 u32 rss_context; member 43 request->rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]); in rss_parse_request() 114 ctx = xa_load(&dev->ethtool->rss_ctx, request->rss_context); in rss_prepare_ctx() 156 if (request->rss_context) { in rss_prepare_data() 189 if (request->rss_context && in rss_fill_reply() 190 nla_put_u32(skb, ETHTOOL_A_RSS_CONTEXT, request->rss_context)) in rss_fill_reply() 269 struct net_device *dev, u32 rss_context) in rss_dump_one_ctx() argument 277 req.rss_context = rss_context; in rss_dump_one_ctx() 288 if (!rss_context) in rss_dump_one_ctx()
|
| H A D | ioctl.c | 1271 if (rxfh.rss_context) { in ethtool_get_rxfh() 1419 if (rxfh.rss_context && !ops->rxfh_per_ctx_key) in ethtool_set_rxfh() 1450 if (rxfh.rss_context == 0) { in ethtool_set_rxfh() 1474 if (rxfh.rss_context) { in ethtool_set_rxfh() 1479 if (rxfh.rss_context && rxfh_dev.rss_delete) { in ethtool_set_rxfh() 1509 rxfh.rss_context = ctx_id; in ethtool_set_rxfh() 1511 } else if (rxfh.rss_context) { in ethtool_set_rxfh() 1519 rxfh_dev.rss_context = rxfh.rss_context; in ethtool_set_rxfh() 1533 rxfh.rss_context, in ethtool_set_rxfh() 1553 &rxfh_dev.rss_context, sizeof(rxfh_dev.rss_context))) in ethtool_set_rxfh() [all …]
|
| H A D | common.h | 46 int ethtool_check_rss_ctx_busy(struct net_device *dev, u32 rss_context);
|
| H A D | common.c | 652 rule_info.rss_context); in ethtool_get_max_rxnfc_channel() 759 int ethtool_check_rss_ctx_busy(struct net_device *dev, u32 rss_context) in ethtool_check_rss_ctx_busy() argument 796 rule_info.rss_context == rss_context) { in ethtool_check_rss_ctx_busy()
|
| /linux-6.15/drivers/net/ethernet/sfc/ |
| H A D | mcdi_filters.c | 385 if (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() 617 new_spec.rss_context = 0; in efx_mcdi_filter_remove_internal() 620 &efx->rss_context.priv, in efx_mcdi_filter_remove_internal() 1407 if (spec->rss_context) in efx_mcdi_filter_table_restore() 1410 ctx = &efx->rss_context.priv; in efx_mcdi_filter_table_restore() 1415 spec->rss_context); in efx_mcdi_filter_table_restore() 1422 spec->rss_context); in efx_mcdi_filter_table_restore() 2048 &efx->rss_context.priv, in efx_mcdi_filter_rx_push_shared_rss_config() [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() 807 u32 rss_context = 0; in efx_ethtool_get_rxnfc() local 880 info->rss_context = rss_context; in efx_ethtool_get_rxnfc() 911 u32 rss_context) in efx_ethtool_set_class_rule() argument 953 spec.rss_context = rss_context; in efx_ethtool_set_class_rule() 1132 info->rss_context); in efx_ethtool_set_rxnfc() 1246 u32 rss_context, in efx_ethtool_remove_rxfh_context() argument 1277 if (WARN_ON_ONCE(rxfh->rss_context)) in efx_ethtool_set_rxfh() 1284 key = efx->rss_context.rx_hash_key; in efx_ethtool_set_rxfh() [all …]
|
| H A D | filter.h | 158 u32 rss_context; member 186 spec->rss_context = 0; in efx_filter_init_rx()
|
| H A D | ethtool_common.h | 62 u32 rss_context,
|
| 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()
|
| /linux-6.15/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_ethtool.c | 807 u32 *rss_context) in otx2_rss_ctx_create() argument 822 *rss_context = ctx; in otx2_rss_ctx_create() 842 if (rxfh->rss_context) in otx2_set_rxfh() 843 rss_context = rxfh->rss_context; in otx2_set_rxfh() 846 rss_context >= MAX_RSS_GROUPS) in otx2_set_rxfh() 865 rxfh->rss_context = rss_context; in otx2_set_rxfh() 870 rss_ctx = rss->rss_ctx[rss_context]; in otx2_set_rxfh() 893 if (rxfh->rss_context) in otx2_get_rxfh() 894 rss_context = rxfh->rss_context; in otx2_get_rxfh() 905 if (rss_context >= MAX_RSS_GROUPS) in otx2_get_rxfh() [all …]
|
| /linux-6.15/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() 808 u32 rss_context = 0; in efx_siena_ethtool_get_rxnfc() local 826 if (efx->rss_context.rx_hash_udp_4tuple) in efx_siena_ethtool_get_rxnfc() 869 info->rss_context = rss_context; in efx_siena_ethtool_get_rxnfc() 900 u32 rss_context) in efx_ethtool_set_class_rule() argument 942 spec.rss_context = rss_context; in efx_ethtool_set_class_rule() 1121 info->rss_context); in efx_siena_ethtool_set_rxnfc() 1163 memcpy(rxfh->key, efx->rss_context.rx_hash_key, in efx_siena_ethtool_get_rxfh() 1185 key = efx->rss_context.rx_hash_key; in efx_siena_ethtool_set_rxfh() [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() 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() 394 sizeof(efx->rss_context.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()
|
| /linux-6.15/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_set_rss_hash_opt() 953 rss_idx = nfc->rss_context; in mlx5e_get_rss_hash_opt() 984 err = mlx5e_ethtool_flow_replace(priv, &cmd->fs, cmd->rss_context); in mlx5e_ethtool_set_rxnfc()
|
| H A D | en_ethtool.c | 1464 u32 rss_context = rxfh->rss_context; in mlx5e_get_rxfh() local 1469 err = mlx5e_rx_res_rss_get_rxfh(priv->rx_res, rss_context, in mlx5e_get_rxfh() 1487 u32 *rss_context = &rxfh->rss_context; in mlx5e_set_rxfh() local 1507 if (*rss_context && rxfh->rss_delete) { in mlx5e_set_rxfh() 1508 err = mlx5e_rx_res_rss_destroy(priv->rx_res, *rss_context); in mlx5e_set_rxfh() 1512 if (*rss_context == ETH_RXFH_CONTEXT_ALLOC) { in mlx5e_set_rxfh() 1513 err = mlx5e_rx_res_rss_init(priv->rx_res, rss_context, count); in mlx5e_set_rxfh() 1518 err = mlx5e_rx_res_rss_set_rxfh(priv->rx_res, *rss_context, in mlx5e_set_rxfh()
|
| /linux-6.15/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-6.15/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_rx.c | 1167 struct mlx4_rss_context *rss_context; in mlx4_en_config_rss_steer() local 1231 rss_context = ptr; in mlx4_en_config_rss_steer() 1232 rss_context->base_qpn = cpu_to_be32(ilog2(rss_rings) << 24 | in mlx4_en_config_rss_steer() 1234 rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn); in mlx4_en_config_rss_steer() 1237 rss_context->base_qpn_udp = rss_context->default_qpn; in mlx4_en_config_rss_steer() 1245 rss_context->flags = rss_mask; in mlx4_en_config_rss_steer() 1246 rss_context->hash_fn = MLX4_RSS_HASH_TOP; in mlx4_en_config_rss_steer() 1248 rss_context->hash_fn = MLX4_RSS_HASH_XOR; in mlx4_en_config_rss_steer() 1250 rss_context->hash_fn = MLX4_RSS_HASH_TOP; in mlx4_en_config_rss_steer() 1251 memcpy(rss_context->rss_key, priv->rss_key, in mlx4_en_config_rss_steer()
|
| /linux-6.15/include/linux/ |
| H A D | ethtool.h | 749 u32 rss_context; member 1087 u32 rss_context,
|
| /linux-6.15/drivers/net/ethernet/intel/ice/ |
| H A D | ice_ethtool.c | 3610 u32 rss_context = rxfh->rss_context; in ice_get_rxfh() local 3622 if (rss_context && !ice_is_adq_active(pf)) { in ice_get_rxfh() 3627 qcount = vsi->mqprio_qopt.qopt.count[rss_context]; in ice_get_rxfh() 3628 offset = vsi->mqprio_qopt.qopt.offset[rss_context]; in ice_get_rxfh() 3630 if (rss_context && ice_is_adq_active(pf)) { in ice_get_rxfh() 3632 if (rss_context >= num_tc) { in ice_get_rxfh() 3634 rss_context, num_tc); in ice_get_rxfh() 3638 vsi = vsi->tc_map_vsi[rss_context]; in ice_get_rxfh() 3699 if (rxfh->rss_context) in ice_set_rxfh()
|
| /linux-6.15/drivers/net/ethernet/meta/fbnic/ |
| H A D | fbnic_ethtool.c | 600 cmd->rss_context = FIELD_GET(FBNIC_RPC_ACT_TBL0_RSS_CTXT_ID, in fbnic_get_cls_rule() 721 if (cmd->rss_context == 1) in fbnic_set_cls_rule_ins() 1198 changes = fbnic_set_indir(fbn, rxfh->rss_context, indir); in fbnic_modify_rxfh_context() 1233 struct ethtool_rxfh_context *ctx, u32 rss_context, in fbnic_remove_rxfh_context() argument
|
| /linux-6.15/include/uapi/linux/ |
| H A D | ethtool.h | 1495 __u32 rss_context; member 1554 __u32 rss_context; member
|
| /linux-6.15/drivers/infiniband/hw/mlx4/ |
| H A D | qp.c | 2098 struct mlx4_rss_context *rss_context; in fill_qp_rss_context() local 2100 rss_context = (void *)context + offsetof(struct mlx4_qp_context, in fill_qp_rss_context() 2103 rss_context->base_qpn = cpu_to_be32(qp->rss_ctx->base_qpn_tbl_sz); in fill_qp_rss_context() 2104 rss_context->default_qpn = in fill_qp_rss_context() 2107 rss_context->base_qpn_udp = rss_context->default_qpn; in fill_qp_rss_context() 2108 rss_context->flags = qp->rss_ctx->flags; in fill_qp_rss_context() 2110 rss_context->hash_fn = MLX4_RSS_HASH_TOP; in fill_qp_rss_context() 2112 memcpy(rss_context->rss_key, qp->rss_ctx->rss_key, in fill_qp_rss_context()
|