/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | rss.c | 84 bool mlx5e_rss_get_inner_ft_support(struct mlx5e_rss *rss) in mlx5e_rss_get_inner_ft_support() argument 86 return rss->inner_ft_support; in mlx5e_rss_get_inner_ft_support() 89 void mlx5e_rss_params_indir_modify_actual_size(struct mlx5e_rss *rss, u32 num_channels) in mlx5e_rss_params_indir_modify_actual_size() argument 91 rss->indir.actual_table_size = mlx5e_rqt_size(rss->mdev, num_channels); in mlx5e_rss_params_indir_modify_actual_size() 135 struct mlx5e_rss *rss; in mlx5e_rss_init_copy() local 138 rss = kvzalloc(sizeof(*rss), GFP_KERNEL); in mlx5e_rss_init_copy() 139 if (!rss) in mlx5e_rss_init_copy() 142 err = mlx5e_rss_params_indir_init(&rss->indir, from->mdev, from->indir.actual_table_size, 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() 57 struct mlx5e_rss *rss; in mlx5e_rx_res_rss_init_def() local 59 if (WARN_ON(res->rss[0])) in mlx5e_rx_res_rss_init_def() 62 rss = mlx5e_rss_init(res->mdev, inner_ft_support, res->drop_rqn, in mlx5e_rx_res_rss_init_def() 64 if (IS_ERR(rss)) in mlx5e_rx_res_rss_init_def() 65 return PTR_ERR(rss); in mlx5e_rx_res_rss_init_def() 67 mlx5e_rss_set_indir_uniform(rss, init_nch); in mlx5e_rx_res_rss_init_def() 69 res->rss[0] = rss; in mlx5e_rx_res_rss_init_def() [all …]
|
H A D | rss.h | 24 void mlx5e_rss_params_indir_modify_actual_size(struct mlx5e_rss *rss, u32 num_channels); 29 int mlx5e_rss_cleanup(struct mlx5e_rss *rss); 31 void mlx5e_rss_refcnt_inc(struct mlx5e_rss *rss); 32 void mlx5e_rss_refcnt_dec(struct mlx5e_rss *rss); 33 unsigned int mlx5e_rss_refcnt_read(struct mlx5e_rss *rss); 35 bool mlx5e_rss_get_inner_ft_support(struct mlx5e_rss *rss); 36 u32 mlx5e_rss_get_tirn(struct mlx5e_rss *rss, enum mlx5_traffic_types tt, 38 bool mlx5e_rss_valid_tir(struct mlx5e_rss *rss, enum mlx5_traffic_types tt, bool inner); 39 u32 mlx5e_rss_get_rqtn(struct mlx5e_rss *rss); 40 int mlx5e_rss_obtain_tirn(struct mlx5e_rss *rss, [all …]
|
H A D | reporter_rx.c | 369 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 376 if (!mlx5e_rss_valid_tir(rss, tt, inner)) in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn() 388 devlink_fmsg_u32_pair_put(fmsg, "tirn", mlx5e_rss_get_tirn(rss, tt, inner)); in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn() 399 struct mlx5e_rss *rss = mlx5e_rx_res_rss_get(rx_res, rss_idx); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() local 401 if (!rss) in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 407 devlink_fmsg_u32_pair_put(fmsg, "rqtn", mlx5e_rss_get_rqtn(rss)); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 408 mlx5e_rx_reporter_diagnose_rx_res_rss_tirn(rss, false, fmsg); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 409 if (mlx5e_rss_get_inner_ft_support(rss)) in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() 410 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 | rss_input_xfrm.py | 40 rss = cfg.ethnl.rss_get({'header': {'dev-name': cfg.ifname}}) 41 input_xfrm = set(filter(lambda x: 'sym' in x, rss.get('input-xfrm', {})))
|
/linux/drivers/net/ethernet/intel/iavf/ |
H A D | iavf_adv_rss.c | 156 struct iavf_adv_rss *rss; in iavf_find_adv_rss_cfg_by_hdrs() local 158 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) in iavf_find_adv_rss_cfg_by_hdrs() 159 if (rss->packet_hdrs == packet_hdrs) in iavf_find_adv_rss_cfg_by_hdrs() 160 return rss; in iavf_find_adv_rss_cfg_by_hdrs() 175 iavf_print_adv_rss_cfg(struct iavf_adapter *adapter, struct iavf_adv_rss *rss, in iavf_print_adv_rss_cfg() argument 178 u32 packet_hdrs = rss->packet_hdrs; in iavf_print_adv_rss_cfg() 179 u64 hash_flds = rss->hash_flds; in iavf_print_adv_rss_cfg()
|
H A D | iavf_virtchnl.c | 2108 struct iavf_adv_rss *rss; in iavf_add_adv_rss_cfg() local 2125 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) { in iavf_add_adv_rss_cfg() 2126 if (rss->state == IAVF_ADV_RSS_ADD_REQUEST) { in iavf_add_adv_rss_cfg() 2128 rss->state = IAVF_ADV_RSS_ADD_PENDING; in iavf_add_adv_rss_cfg() 2129 memcpy(rss_cfg, &rss->cfg_msg, len); in iavf_add_adv_rss_cfg() 2130 iavf_print_adv_rss_cfg(adapter, rss, in iavf_add_adv_rss_cfg() 2159 struct iavf_adv_rss *rss; in iavf_del_adv_rss_cfg() local 2176 list_for_each_entry(rss, &adapter->adv_rss_list_head, list) { in iavf_del_adv_rss_cfg() 2177 if (rss->state == IAVF_ADV_RSS_DEL_REQUEST) { in iavf_del_adv_rss_cfg() 2179 rss->state = IAVF_ADV_RSS_DEL_PENDING; in iavf_del_adv_rss_cfg() [all …]
|
H A D | iavf_adv_rss.h | 94 iavf_print_adv_rss_cfg(struct iavf_adapter *adapter, struct iavf_adv_rss *rss,
|
/linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_ethtool.c | 567 struct otx2_rss_info *rss; in otx2_get_rss_hash_opts() local 569 rss = &pfvf->hw.rss_info; in otx2_get_rss_hash_opts() 571 if (!(rss->flowkey_cfg & in otx2_get_rss_hash_opts() 577 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_VLAN) in otx2_get_rss_hash_opts() 583 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_TCP) in otx2_get_rss_hash_opts() 588 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_UDP) in otx2_get_rss_hash_opts() 593 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_SCTP) in otx2_get_rss_hash_opts() 598 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_ESP) in otx2_get_rss_hash_opts() 622 struct otx2_rss_info *rss; in otx2_set_rss_hash_opts() local 625 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/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 | 51 u16 rss, queue; in txgbevf_set_num_queues() local 70 rss = min_t(u16, num_online_cpus(), TXGBEVF_MAX_RSS_NUM); in txgbevf_set_num_queues() 72 rss = min_t(u16, queue, rss); in txgbevf_set_num_queues() 75 wx->num_rx_queues = rss; in txgbevf_set_num_queues() 76 wx->num_tx_queues = rss; in txgbevf_set_num_queues()
|
/linux/drivers/net/ethernet/cavium/thunder/ |
H A D | nicvf_ethtool.c | 566 struct nicvf_rss_info *rss; in nicvf_set_rxfh_fields() local 569 rss = &nic->rss_info; in nicvf_set_rxfh_fields() 572 if (!rss->enable) in nicvf_set_rxfh_fields() 650 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_get_rxfh() local 654 for (idx = 0; idx < rss->rss_size; idx++) in nicvf_get_rxfh() 655 rxfh->indir[idx] = rss->ind_tbl[idx]; in nicvf_get_rxfh() 659 memcpy(rxfh->key, rss->key, RSS_HASH_KEY_SIZE * sizeof(u64)); in nicvf_get_rxfh() 671 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_set_rxfh() local 678 if (!rss->enable) { in nicvf_set_rxfh() 685 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 | 1056 return sizeof(priv->rss.key); in stmmac_get_rxfh_key_size() 1063 return ARRAY_SIZE(priv->rss.table); in stmmac_get_rxfh_indir_size() 1073 for (i = 0; i < ARRAY_SIZE(priv->rss.table); i++) in stmmac_get_rxfh() 1074 rxfh->indir[i] = priv->rss.table[i]; in stmmac_get_rxfh() 1078 memcpy(rxfh->key, priv->rss.key, sizeof(priv->rss.key)); in stmmac_get_rxfh() 1096 for (i = 0; i < ARRAY_SIZE(priv->rss.table); i++) in stmmac_set_rxfh() 1097 priv->rss.table[i] = rxfh->indir[i]; in stmmac_set_rxfh() 1101 memcpy(priv->rss.key, rxfh->key, sizeof(priv->rss.key)); in stmmac_set_rxfh() 1103 return stmmac_rss_configure(priv, priv->hw, &priv->rss, in stmmac_set_rxfh()
|
H A D | stmmac_selftests.c | 824 if (!priv->dma_cap.rssen || !priv->rss.enable) in stmmac_test_rss() 1345 if (priv->rss.enable) { in __stmmac_test_l3filt() 1346 old_enable = priv->rss.enable; in __stmmac_test_l3filt() 1347 priv->rss.enable = false; in __stmmac_test_l3filt() 1419 priv->rss.enable = old_enable; in __stmmac_test_l3filt() 1420 stmmac_rss_configure(priv, priv->hw, &priv->rss, in __stmmac_test_l3filt() 1471 if (priv->rss.enable) { in __stmmac_test_l4filt() 1472 old_enable = priv->rss.enable; in __stmmac_test_l4filt() 1473 priv->rss.enable = false; in __stmmac_test_l4filt() 1550 priv->rss.enable = old_enable; in __stmmac_test_l4filt() [all …]
|
/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 | 1984 struct bnx2x_config_rss_params rss; in bnx2x_vf_mbx_update_rss() local 1996 memset(&rss, 0, sizeof(struct bnx2x_config_rss_params)); in bnx2x_vf_mbx_update_rss() 1999 memcpy(rss.ind_table, rss_tlv->ind_table, in bnx2x_vf_mbx_update_rss() 2001 memcpy(rss.rss_key, rss_tlv->rss_key, sizeof(rss_tlv->rss_key)); in bnx2x_vf_mbx_update_rss() 2002 rss.rss_obj = &vf->rss_conf_obj; in bnx2x_vf_mbx_update_rss() 2003 rss.rss_result_mask = rss_tlv->rss_result_mask; in bnx2x_vf_mbx_update_rss() 2006 rss.rss_flags = 0; in bnx2x_vf_mbx_update_rss() 2007 rss.ramrod_flags = 0; in bnx2x_vf_mbx_update_rss() 2010 __set_bit(BNX2X_RSS_MODE_DISABLED, &rss.rss_flags); in bnx2x_vf_mbx_update_rss() 2012 __set_bit(BNX2X_RSS_MODE_REGULAR, &rss.rss_flags); in bnx2x_vf_mbx_update_rss() [all …]
|
/linux/mm/ |
H A D | memory.c | 480 static inline void init_rss_vec(int *rss) in init_rss_vec() argument 482 memset(rss, 0, sizeof(int) * NR_MM_COUNTERS); in init_rss_vec() 485 static inline void add_mm_rss_vec(struct mm_struct *mm, int *rss) in add_mm_rss_vec() argument 490 if (rss[i]) in add_mm_rss_vec() 491 add_mm_counter(mm, i, rss[i]); in add_mm_rss_vec() 797 struct vm_area_struct *src_vma, unsigned long addr, int *rss) in copy_nonpresent_pte() argument 823 rss[MM_SWAPENTS]++; in copy_nonpresent_pte() 827 rss[mm_counter(folio)]++; in copy_nonpresent_pte() 859 rss[mm_counter(folio)]++; in copy_nonpresent_pte() 918 pte_t *dst_pte, pte_t *src_pte, unsigned long addr, int *rss, in copy_present_page() argument [all …]
|
/linux/drivers/net/ethernet/intel/igc/ |
H A D | igc_base.h | 74 __le32 rss; /* RSS Hash */ member
|
/linux/arch/sparc/mm/ |
H A D | tsb.c | 396 void tsb_grow(struct mm_struct *mm, unsigned long tsb_index, unsigned long rss) in tsb_grow() argument 411 if (new_rss_limit > rss) in tsb_grow() 487 (rss < mm->context.tsb_block[tsb_index].tsb_rss_limit))) { in tsb_grow()
|