| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | rss.c | 83 bool mlx5e_rss_get_inner_ft_support(struct mlx5e_rss *rss) in mlx5e_rss_get_inner_ft_support() argument 85 return rss->params.inner_ft_support; in mlx5e_rss_get_inner_ft_support() 88 void mlx5e_rss_params_indir_modify_actual_size(struct mlx5e_rss *rss, u32 num_channels) in mlx5e_rss_params_indir_modify_actual_size() argument 90 rss->indir.actual_table_size = mlx5e_rqt_size(rss->mdev, num_channels); in mlx5e_rss_params_indir_modify_actual_size() 134 struct mlx5e_rss *rss; in mlx5e_rss_init_copy() local 137 rss = kvzalloc_obj(*rss); in mlx5e_rss_init_copy() 138 if (!rss) in mlx5e_rss_init_copy() 141 err = mlx5e_rss_params_indir_init(&rss->indir, in mlx5e_rss_init_copy() 147 err = mlx5e_rss_copy(rss, from); in mlx5e_rss_init_copy() 151 return rss; in mlx5e_rss_init_copy() [all …]
|
| H A D | rx_res.c | 17 struct mlx5e_rss *rss[MLX5E_MAX_NUM_RSS]; member 48 if (res->rss[i]) in mlx5e_rx_res_rss_update_num_channels() 49 mlx5e_rss_params_indir_modify_actual_size(res->rss[i], nch); in mlx5e_rx_res_rss_update_num_channels() 59 struct mlx5e_rss *rss; in mlx5e_rx_res_rss_init_def() local 61 if (WARN_ON(res->rss[0])) in mlx5e_rx_res_rss_init_def() 78 rss = mlx5e_rss_init(res->mdev, &rss_params, &init_params); in mlx5e_rx_res_rss_init_def() 79 if (IS_ERR(rss)) in mlx5e_rx_res_rss_init_def() 80 return PTR_ERR(rss); in mlx5e_rx_res_rss_init_def() 82 mlx5e_rss_set_indir_uniform(rss, init_params.nch); in mlx5e_rx_res_rss_init_def() 84 res->rss[0] = rss; in mlx5e_rx_res_rss_init_def() [all …]
|
| H A D | rss.h | 37 void mlx5e_rss_params_indir_modify_actual_size(struct mlx5e_rss *rss, u32 num_channels); 42 int mlx5e_rss_cleanup(struct mlx5e_rss *rss); 44 void mlx5e_rss_refcnt_inc(struct mlx5e_rss *rss); 45 void mlx5e_rss_refcnt_dec(struct mlx5e_rss *rss); 46 unsigned int mlx5e_rss_refcnt_read(struct mlx5e_rss *rss); 48 bool mlx5e_rss_get_inner_ft_support(struct mlx5e_rss *rss); 49 u32 mlx5e_rss_get_tirn(struct mlx5e_rss *rss, enum mlx5_traffic_types tt, 51 bool mlx5e_rss_valid_tir(struct mlx5e_rss *rss, enum mlx5_traffic_types tt, bool inner); 52 u32 mlx5e_rss_get_rqtn(struct mlx5e_rss *rss); 54 mlx5e_rss_obtain_tirn(struct mlx5e_rss *rss, enum mlx5_traffic_types tt, [all …]
|
| H A D | reporter_rx.c | 383 static void mlx5e_rx_reporter_diagnose_rx_res_rss_tirn(struct mlx5e_rss *rss, bool inner, in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn() argument 390 if (!mlx5e_rss_valid_tir(rss, tt, inner)) in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn() 402 devlink_fmsg_u32_pair_put(fmsg, "tirn", mlx5e_rss_get_tirn(rss, tt, inner)); in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn() 413 struct mlx5e_rss *rss = mlx5e_rx_res_rss_get(rx_res, rss_idx); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() local 415 if (!rss) in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 421 devlink_fmsg_u32_pair_put(fmsg, "rqtn", mlx5e_rss_get_rqtn(rss)); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 422 mlx5e_rx_reporter_diagnose_rx_res_rss_tirn(rss, false, fmsg); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 423 if (mlx5e_rss_get_inner_ft_support(rss)) in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 424 mlx5e_rx_reporter_diagnose_rx_res_rss_tirn(rss, true, fmsg); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix()
|
| /linux/drivers/net/ethernet/amazon/ena/ |
| H A D | ena_com.c | 1043 return ena_dev->rss.hash_func; in ena_com_get_current_hash_function() 1049 (ena_dev->rss).hash_key; in ena_com_hash_key_fill_default_key() 1060 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_key_allocate() local 1065 rss->hash_key = dma_alloc_coherent(ena_dev->dmadev, sizeof(*rss->hash_key), in ena_com_hash_key_allocate() 1066 &rss->hash_key_dma_addr, GFP_KERNEL); in ena_com_hash_key_allocate() 1068 if (unlikely(!rss->hash_key)) in ena_com_hash_key_allocate() 1076 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_key_destroy() local 1078 if (rss->hash_key) in ena_com_hash_key_destroy() 1079 dma_free_coherent(ena_dev->dmadev, sizeof(*rss->hash_key), rss->hash_key, in ena_com_hash_key_destroy() 1080 rss->hash_key_dma_addr); in ena_com_hash_key_destroy() [all …]
|
| /linux/tools/testing/selftests/drivers/net/hw/ |
| H A D | rss_api.py | 95 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}}) 96 ksft_eq(set(rss.get("indir", [-1])), {1}) 100 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}}) 101 ksft_eq(set(rss.get("indir", [-1])), {0, 1}) 111 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}}) 112 ksft_eq(set(rss.get("indir", [-1])), set(range(qcnt))) 130 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}, 132 ksft_eq(set(rss.get("indir", [-1])), {1}) 139 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}, 141 ksft_eq(set(rss.get("indir", [-1])), {0, 1}) [all …]
|
| H A D | toeplitz.py | 154 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}}) 156 if rss.get('hfunc') != ETH_RSS_HASH_TOP or rss.get('input-xfrm'): 161 "hfunc": rss.get('hfunc'), 162 "input-xfrm": rss.get('input-xfrm', {})
|
| H A D | iou-zcrx.py | 58 def rss(cfg): function 90 KsftNamedVariant("rss", rss), 105 KsftNamedVariant("rss", rss),
|
| H A D | rss_drv.py | 27 rss = _get_rss(cfg, context=context) 28 indir = rss['rss-indirection-table']
|
| H A D | rss_input_xfrm.py | 29 rss = cfg.ethnl.rss_get({'header': {'dev-name': cfg.ifname}}) 30 orig_xfrm = rss.get('input-xfrm', set())
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_ethtool.c | 584 struct otx2_rss_info *rss; in otx2_get_rss_hash_opts() local 586 rss = &pfvf->hw.rss_info; in otx2_get_rss_hash_opts() 588 if (!(rss->flowkey_cfg & in otx2_get_rss_hash_opts() 594 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_VLAN) in otx2_get_rss_hash_opts() 600 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_TCP) in otx2_get_rss_hash_opts() 605 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_UDP) in otx2_get_rss_hash_opts() 610 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_SCTP) in otx2_get_rss_hash_opts() 615 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_ESP) in otx2_get_rss_hash_opts() 639 struct otx2_rss_info *rss; in otx2_set_rss_hash_opts() local 642 rss = &pfvf->hw.rss_info; in otx2_set_rss_hash_opts() [all …]
|
| H A D | otx2_common.c | 291 struct otx2_rss_info *rss = &pfvf->hw.rss_info; in otx2_set_flowkey_cfg() local 303 req->flowkey_cfg = rss->flowkey_cfg; in otx2_set_flowkey_cfg() 325 struct otx2_rss_info *rss = &pfvf->hw.rss_info; in otx2_set_rss_table() local 326 const int index = rss->rss_size * ctx_id; in otx2_set_rss_table() 332 ind_tbl = ind_tbl ?: rss->ind_tbl; in otx2_set_rss_table() 334 for (idx = 0; idx < rss->rss_size; idx++) { in otx2_set_rss_table() 356 aq->rss.rq = ind_tbl[idx]; in otx2_set_rss_table() 370 struct otx2_rss_info *rss = &pfvf->hw.rss_info; in otx2_set_rss_key() local 371 u64 *key = (u64 *)&rss->key[4]; in otx2_set_rss_key() 383 (u64)(*((u32 *)&rss->key)) << 32); in otx2_set_rss_key() [all …]
|
| /linux/include/linux/ |
| H A D | percpu-rwsem.h | 14 struct rcu_sync rss; member 33 .rss = __RCU_SYNC_INITIALIZER(name.rss), \ 64 if (likely(rcu_sync_is_idle(&sem->rss))) in percpu_down_read_internal() 94 if (likely(rcu_sync_is_idle(&sem->rss))) in percpu_down_read_trylock() 118 if (likely(rcu_sync_is_idle(&sem->rss))) { in percpu_up_read()
|
| /linux/drivers/net/ethernet/intel/iavf/ |
| H A D | iavf_adv_rss.c | 217 struct iavf_adv_rss *rss; in iavf_find_adv_rss_cfg_by_hdrs() local 219 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) in iavf_find_adv_rss_cfg_by_hdrs() 220 if (rss->packet_hdrs == packet_hdrs) in iavf_find_adv_rss_cfg_by_hdrs() 221 return rss; in iavf_find_adv_rss_cfg_by_hdrs() 236 iavf_print_adv_rss_cfg(struct iavf_adapter *adapter, struct iavf_adv_rss *rss, in iavf_print_adv_rss_cfg() argument 239 u32 packet_hdrs = rss->packet_hdrs; in iavf_print_adv_rss_cfg() 240 u64 hash_flds = rss->hash_flds; in iavf_print_adv_rss_cfg()
|
| H A D | iavf_virtchnl.c | 2112 struct iavf_adv_rss *rss; in iavf_add_adv_rss_cfg() local 2129 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) { in iavf_add_adv_rss_cfg() 2130 if (rss->state == IAVF_ADV_RSS_ADD_REQUEST) { in iavf_add_adv_rss_cfg() 2132 rss->state = IAVF_ADV_RSS_ADD_PENDING; in iavf_add_adv_rss_cfg() 2133 memcpy(rss_cfg, &rss->cfg_msg, len); in iavf_add_adv_rss_cfg() 2134 iavf_print_adv_rss_cfg(adapter, rss, in iavf_add_adv_rss_cfg() 2163 struct iavf_adv_rss *rss; in iavf_del_adv_rss_cfg() local 2180 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) { in iavf_del_adv_rss_cfg() 2181 if (rss->state == IAVF_ADV_RSS_DEL_REQUEST) { in iavf_del_adv_rss_cfg() 2183 rss->state = IAVF_ADV_RSS_DEL_PENDING; in iavf_del_adv_rss_cfg() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_resources.c | 41 int is_tx, int rss, int qpn, int cqn, in mlx4_en_fill_qp_context() argument 48 context->flags = cpu_to_be32(7 << 16 | rss << MLX4_RSS_QPC_FLAG_OFFSET); in mlx4_en_fill_qp_context() 51 if (!is_tx && !rss) in mlx4_en_fill_qp_context() 74 if (!rss && in mlx4_en_fill_qp_context() 87 if (!is_tx && !rss && in mlx4_en_fill_qp_context()
|
| /linux/drivers/net/ethernet/wangxun/txgbevf/ |
| H A D | txgbevf_main.c | 52 u16 rss, queue; in txgbevf_set_num_queues() local 71 rss = min_t(u16, num_online_cpus(), TXGBEVF_MAX_RSS_NUM); in txgbevf_set_num_queues() 73 rss = min_t(u16, queue, rss); in txgbevf_set_num_queues() 76 wx->num_rx_queues = rss; in txgbevf_set_num_queues() 77 wx->num_tx_queues = rss; in txgbevf_set_num_queues()
|
| /linux/kernel/locking/ |
| H A D | percpu-rwsem.c | 21 rcu_sync_init(&sem->rss); in __percpu_init_rwsem() 42 rcu_sync_dtor(&sem->rss); in percpu_free_rwsem() 235 rcu_sync_enter(&sem->rss); in percpu_down_write() 288 rcu_sync_exit(&sem->rss); in percpu_up_write()
|
| /linux/drivers/net/ethernet/cavium/thunder/ |
| H A D | nicvf_ethtool.c | 556 struct nicvf_rss_info *rss; in nicvf_set_rxfh_fields() local 559 rss = &nic->rss_info; in nicvf_set_rxfh_fields() 562 if (!rss->enable) in nicvf_set_rxfh_fields() 640 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_get_rxfh() local 644 for (idx = 0; idx < rss->rss_size; idx++) in nicvf_get_rxfh() 645 rxfh->indir[idx] = rss->ind_tbl[idx]; in nicvf_get_rxfh() 649 memcpy(rxfh->key, rss->key, RSS_HASH_KEY_SIZE * sizeof(u64)); in nicvf_get_rxfh() 661 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_set_rxfh() local 668 if (!rss->enable) { in nicvf_set_rxfh() 675 for (idx = 0; idx < rss->rss_size; idx++) in nicvf_set_rxfh() [all …]
|
| H A D | nicvf_main.c | 336 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_config_rss() local 337 int ind_tbl_len = rss->rss_size; in nicvf_config_rss() 341 mbx.rss_cfg.hash_bits = rss->hash_bits; in nicvf_config_rss() 350 mbx.rss_cfg.ind_tbl[i] = rss->ind_tbl[nextq++]; in nicvf_config_rss() 360 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_set_rss_key() local 365 nicvf_reg_write(nic, key_addr, rss->key[idx]); in nicvf_set_rss_key() 372 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_rss_init() local 378 rss->enable = false; in nicvf_rss_init() 379 rss->hash_bits = 0; in nicvf_rss_init() 383 rss->enable = true; in nicvf_rss_init() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en_fs_ethtool.c | 66 struct mlx5e_rss *rss; member 429 struct mlx5e_rss *rss; in flow_get_tirn() local 434 rss = mlx5e_rx_res_rss_get(priv->rx_res, rss_context); in flow_get_tirn() 435 if (!rss) in flow_get_tirn() 444 err = mlx5e_rss_obtain_tirn(rss, tt, &pkt_merge_param, false, tirn); in flow_get_tirn() 447 eth_rule->rss = rss; in flow_get_tirn() 448 mlx5e_rss_refcnt_inc(eth_rule->rss); in flow_get_tirn() 514 if (eth_rule->rss) in del_ethtool_rule() 515 mlx5e_rss_refcnt_dec(eth_rule->rss); in del_ethtool_rule() 807 if (!eth_rule->rss) in mlx5e_ethtool_get_flow() [all …]
|
| /linux/drivers/net/ethernet/chelsio/cxgb4vf/ |
| H A D | t4vf_hw.c | 1017 struct rss_params *rss = &adapter->params.rss; in t4vf_get_rss_glb_config() local 1040 rss->mode = FW_RSS_GLB_CONFIG_CMD_MODE_G( in t4vf_get_rss_glb_config() 1042 switch (rss->mode) { in t4vf_get_rss_glb_config() 1047 rss->u.basicvirtual.synmapen = in t4vf_get_rss_glb_config() 1049 rss->u.basicvirtual.syn4tupenipv6 = in t4vf_get_rss_glb_config() 1051 rss->u.basicvirtual.syn2tupenipv6 = in t4vf_get_rss_glb_config() 1053 rss->u.basicvirtual.syn4tupenipv4 = in t4vf_get_rss_glb_config() 1055 rss->u.basicvirtual.syn2tupenipv4 = in t4vf_get_rss_glb_config() 1058 rss->u.basicvirtual.ofdmapen = in t4vf_get_rss_glb_config() 1061 rss->u.basicvirtual.tnlmapen = in t4vf_get_rss_glb_config() [all …]
|
| /linux/drivers/net/ethernet/stmicro/stmmac/ |
| H A D | stmmac_ethtool.c | 928 return sizeof(priv->rss.key); in stmmac_get_rxfh_key_size() 935 return ARRAY_SIZE(priv->rss.table); in stmmac_get_rxfh_indir_size() 945 for (i = 0; i < ARRAY_SIZE(priv->rss.table); i++) in stmmac_get_rxfh() 946 rxfh->indir[i] = priv->rss.table[i]; in stmmac_get_rxfh() 950 memcpy(rxfh->key, priv->rss.key, sizeof(priv->rss.key)); in stmmac_get_rxfh() 968 for (i = 0; i < ARRAY_SIZE(priv->rss.table); i++) in stmmac_set_rxfh() 969 priv->rss.table[i] = rxfh->indir[i]; in stmmac_set_rxfh() 973 memcpy(priv->rss.key, rxfh->key, sizeof(priv->rss.key)); in stmmac_set_rxfh() 975 return stmmac_rss_configure(priv, priv->hw, &priv->rss, in stmmac_set_rxfh()
|
| /linux/drivers/net/ethernet/qlogic/qed/ |
| H A D | qed_l2.c | 2375 struct qed_rss_params *rss) in qed_update_vport_rss() argument 2380 rss->update_rss_config = 1; in qed_update_vport_rss() 2381 rss->rss_enable = 1; in qed_update_vport_rss() 2382 rss->update_rss_capabilities = 1; in qed_update_vport_rss() 2383 rss->update_rss_ind_table = 1; in qed_update_vport_rss() 2384 rss->update_rss_key = 1; in qed_update_vport_rss() 2385 rss->rss_caps = input->rss_caps; in qed_update_vport_rss() 2386 memcpy(rss->rss_key, input->rss_key, QED_RSS_KEY_SIZE * sizeof(u32)); in qed_update_vport_rss() 2395 memcpy(rss->rss_ind_table, in qed_update_vport_rss() 2398 rss->rss_table_size_log = 7; in qed_update_vport_rss() [all …]
|
| /linux/drivers/net/ethernet/broadcom/bnx2x/ |
| H A D | bnx2x_vfpf.c | 1983 struct bnx2x_config_rss_params rss; in bnx2x_vf_mbx_update_rss() local 1995 memset(&rss, 0, sizeof(struct bnx2x_config_rss_params)); in bnx2x_vf_mbx_update_rss() 1998 memcpy(rss.ind_table, rss_tlv->ind_table, in bnx2x_vf_mbx_update_rss() 2000 memcpy(rss.rss_key, rss_tlv->rss_key, sizeof(rss_tlv->rss_key)); in bnx2x_vf_mbx_update_rss() 2001 rss.rss_obj = &vf->rss_conf_obj; in bnx2x_vf_mbx_update_rss() 2002 rss.rss_result_mask = rss_tlv->rss_result_mask; in bnx2x_vf_mbx_update_rss() 2005 rss.rss_flags = 0; in bnx2x_vf_mbx_update_rss() 2006 rss.ramrod_flags = 0; in bnx2x_vf_mbx_update_rss() 2009 __set_bit(BNX2X_RSS_MODE_DISABLED, &rss.rss_flags); in bnx2x_vf_mbx_update_rss() 2011 __set_bit(BNX2X_RSS_MODE_REGULAR, &rss.rss_flags); in bnx2x_vf_mbx_update_rss() [all …]
|