| /linux/drivers/net/ethernet/hisilicon/hns3/hns3_common/ |
| H A D | hclge_comm_rss.c | 36 struct hclge_comm_rss_cfg *rss_cfg) in hclge_comm_rss_init_cfg() argument 43 rss_cfg->rss_size = nic->kinfo.rss_size; in hclge_comm_rss_init_cfg() 48 hclge_comm_init_rss_tuple(ae_dev, &rss_cfg->rss_tuple_sets); in hclge_comm_rss_init_cfg() 50 rss_cfg->rss_algo = rss_algo; in hclge_comm_rss_init_cfg() 57 rss_cfg->rss_indirection_tbl = rss_ind_tbl; in hclge_comm_rss_init_cfg() 58 memcpy(rss_cfg->rss_hash_key, hclge_comm_hash_key, in hclge_comm_rss_init_cfg() 61 hclge_comm_rss_indir_init_cfg(ae_dev, rss_cfg); in hclge_comm_rss_init_cfg() 120 int hclge_comm_set_rss_hash_key(struct hclge_comm_rss_cfg *rss_cfg, in hclge_comm_set_rss_hash_key() argument 127 ret = hclge_comm_parse_rss_hfunc(rss_cfg, hfunc, &hash_algo); in hclge_comm_set_rss_hash_key() 138 memcpy(rss_cfg->rss_hash_key, key, HCLGE_COMM_RSS_KEY_SIZE); in hclge_comm_set_rss_hash_key() [all …]
|
| H A D | hclge_comm_rss.h | 99 struct hclge_comm_rss_cfg *rss_cfg); 100 int hclge_comm_get_rss_tuple(struct hclge_comm_rss_cfg *rss_cfg, int flow_type, 102 int hclge_comm_parse_rss_hfunc(struct hclge_comm_rss_cfg *rss_cfg, 104 void hclge_comm_get_rss_hash_info(struct hclge_comm_rss_cfg *rss_cfg, u8 *key, 106 void hclge_comm_get_rss_indir_tbl(struct hclge_comm_rss_cfg *rss_cfg, 110 int hclge_comm_init_rss_tuple_cmd(struct hclge_comm_rss_cfg *rss_cfg, 116 struct hclge_comm_rss_cfg *rss_cfg); 121 struct hclge_comm_rss_cfg *rss_cfg); 126 int hclge_comm_set_rss_hash_key(struct hclge_comm_rss_cfg *rss_cfg, 131 struct hclge_comm_rss_cfg *rss_cfg,
|
| /linux/drivers/net/ethernet/huawei/hinic3/ |
| H A D | hinic3_rss.c | 27 struct l2nic_cmd_cfg_rss rss_cfg = {}; in hinic3_rss_cfg() local 30 rss_cfg.func_id = hinic3_global_func_id(hwdev); in hinic3_rss_cfg() 31 rss_cfg.rss_en = rss_en; in hinic3_rss_cfg() 32 rss_cfg.rq_priority_number = 0; in hinic3_rss_cfg() 33 rss_cfg.num_qps = num_qps; in hinic3_rss_cfg() 35 mgmt_msg_params_init_default(&msg_params, &rss_cfg, sizeof(rss_cfg)); in hinic3_rss_cfg() 39 if (err || rss_cfg.msg_head.status) { in hinic3_rss_cfg() 41 err, rss_cfg.msg_head.status); in hinic3_rss_cfg()
|
| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_port.c | 671 struct hinic_rss_indir_table rss_cfg = { 0 }; in hinic_rss_get_indir_tbl() local 675 u16 out_size = sizeof(rss_cfg); in hinic_rss_get_indir_tbl() 678 rss_cfg.func_id = HINIC_HWIF_FUNC_IDX(hwif); in hinic_rss_get_indir_tbl() 679 rss_cfg.template_id = tmpl_idx; in hinic_rss_get_indir_tbl() 683 &rss_cfg, sizeof(rss_cfg), &rss_cfg, in hinic_rss_get_indir_tbl() 685 if (err || !out_size || rss_cfg.status) { in hinic_rss_get_indir_tbl() 687 err, rss_cfg.status, out_size); in hinic_rss_get_indir_tbl() 691 hinic_be32_to_cpu(rss_cfg.indir, HINIC_RSS_INDIR_SIZE); in hinic_rss_get_indir_tbl() 693 indir_table[i] = rss_cfg.indir[i]; in hinic_rss_get_indir_tbl() 920 struct hinic_rss_config rss_cfg = { 0 }; in hinic_rss_cfg() local [all …]
|
| /linux/drivers/net/ethernet/intel/iavf/ |
| H A D | iavf_adv_rss.c | 152 iavf_fill_adv_rss_cfg_msg(struct virtchnl_rss_cfg *rss_cfg, in iavf_fill_adv_rss_cfg_msg() argument 157 struct virtchnl_proto_hdrs *proto_hdrs = &rss_cfg->proto_hdrs; in iavf_fill_adv_rss_cfg_msg() 161 rss_cfg->rss_algorithm = VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC; in iavf_fill_adv_rss_cfg_msg() 163 rss_cfg->rss_algorithm = VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC; in iavf_fill_adv_rss_cfg_msg()
|
| H A D | iavf_virtchnl.c | 2111 struct virtchnl_rss_cfg *rss_cfg; in iavf_add_adv_rss_cfg() local 2124 rss_cfg = kzalloc(len, GFP_KERNEL); in iavf_add_adv_rss_cfg() 2125 if (!rss_cfg) in iavf_add_adv_rss_cfg() 2133 memcpy(rss_cfg, &rss->cfg_msg, len); in iavf_add_adv_rss_cfg() 2145 (u8 *)rss_cfg, len); in iavf_add_adv_rss_cfg() 2150 kfree(rss_cfg); in iavf_add_adv_rss_cfg() 2162 struct virtchnl_rss_cfg *rss_cfg; in iavf_del_adv_rss_cfg() local 2175 rss_cfg = kzalloc(len, GFP_KERNEL); in iavf_del_adv_rss_cfg() 2176 if (!rss_cfg) in iavf_del_adv_rss_cfg() 2184 memcpy(rss_cfg, &rss->cfg_msg, len); in iavf_del_adv_rss_cfg() [all …]
|
| H A D | iavf_adv_rss.h | 120 iavf_fill_adv_rss_cfg_msg(struct virtchnl_rss_cfg *rss_cfg,
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_ethtool.c | 640 u32 rss_cfg; in otx2_set_rss_hash_opts() local 643 rss_cfg = rss->flowkey_cfg; in otx2_set_rss_hash_opts() 656 rss_cfg |= NIX_FLOW_KEY_TYPE_VLAN; in otx2_set_rss_hash_opts() 658 rss_cfg &= ~NIX_FLOW_KEY_TYPE_VLAN; in otx2_set_rss_hash_opts() 668 rss_cfg &= ~NIX_FLOW_KEY_TYPE_TCP; in otx2_set_rss_hash_opts() 671 rss_cfg |= NIX_FLOW_KEY_TYPE_TCP; in otx2_set_rss_hash_opts() 681 rss_cfg &= ~NIX_FLOW_KEY_TYPE_UDP; in otx2_set_rss_hash_opts() 684 rss_cfg |= NIX_FLOW_KEY_TYPE_UDP; in otx2_set_rss_hash_opts() 694 rss_cfg &= ~NIX_FLOW_KEY_TYPE_SCTP; in otx2_set_rss_hash_opts() 697 rss_cfg |= NIX_FLOW_KEY_TYPE_SCTP; in otx2_set_rss_hash_opts() [all …]
|
| /linux/drivers/net/ethernet/cavium/thunder/ |
| H A D | nicvf_ethtool.c | 557 u64 rss_cfg; in nicvf_set_rxfh_fields() local 560 rss_cfg = nicvf_reg_read(nic, NIC_VNIC_RSS_CFG); in nicvf_set_rxfh_fields() 577 rss_cfg &= ~(1ULL << RSS_HASH_TCP); in nicvf_set_rxfh_fields() 580 rss_cfg |= (1ULL << RSS_HASH_TCP); in nicvf_set_rxfh_fields() 590 rss_cfg &= ~(1ULL << RSS_HASH_UDP); in nicvf_set_rxfh_fields() 593 rss_cfg |= (1ULL << RSS_HASH_UDP); in nicvf_set_rxfh_fields() 603 rss_cfg &= ~(1ULL << RSS_HASH_L4ETC); in nicvf_set_rxfh_fields() 606 rss_cfg |= (1ULL << RSS_HASH_L4ETC); in nicvf_set_rxfh_fields() 614 rss_cfg = RSS_HASH_IP; in nicvf_set_rxfh_fields() 620 nicvf_reg_write(nic, NIC_VNIC_RSS_CFG, rss_cfg); in nicvf_set_rxfh_fields()
|
| H A D | nicvf_main.c | 340 mbx.rss_cfg.vf_id = nic->vf_id; in nicvf_config_rss() 341 mbx.rss_cfg.hash_bits = rss->hash_bits; in nicvf_config_rss() 343 mbx.rss_cfg.tbl_offset = nextq; in nicvf_config_rss() 344 mbx.rss_cfg.tbl_len = min(ind_tbl_len, in nicvf_config_rss() 346 mbx.rss_cfg.msg = mbx.rss_cfg.tbl_offset ? in nicvf_config_rss() 349 for (i = 0; i < mbx.rss_cfg.tbl_len; i++) in nicvf_config_rss() 350 mbx.rss_cfg.ind_tbl[i] = rss->ind_tbl[nextq++]; in nicvf_config_rss() 354 ind_tbl_len -= mbx.rss_cfg.tbl_len; in nicvf_config_rss()
|
| H A D | nic.h | 594 struct rss_cfg_msg rss_cfg; member
|
| /linux/drivers/net/ethernet/intel/ice/virt/ |
| H A D | rss.c | 522 struct virtchnl_rss_cfg *rss_cfg, in ice_vc_parse_rss_cfg() argument 539 if (rss_cfg->rss_algorithm == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC) in ice_vc_parse_rss_cfg() 549 for (i = 0; i < rss_cfg->proto_hdrs.count; i++) { in ice_vc_parse_rss_cfg() 551 &rss_cfg->proto_hdrs.proto_hdr[i]; in ice_vc_parse_rss_cfg() 1567 struct virtchnl_rss_cfg *rss_cfg = (struct virtchnl_rss_cfg *)msg; in ice_vc_handle_rss_cfg() local 1595 if (rss_cfg->proto_hdrs.count > VIRTCHNL_MAX_NUM_PROTO_HDRS || in ice_vc_handle_rss_cfg() 1596 rss_cfg->rss_algorithm < VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC || in ice_vc_handle_rss_cfg() 1597 rss_cfg->rss_algorithm > VIRTCHNL_RSS_ALG_XOR_SYMMETRIC) { in ice_vc_handle_rss_cfg() 1610 if (rss_cfg->rss_algorithm == VIRTCHNL_RSS_ALG_R_ASYMMETRIC) { in ice_vc_handle_rss_cfg() 1628 symm = rss_cfg->rss_algorithm == VIRTCHNL_RSS_ALG_TOEPLITZ_SYMMETRIC; in ice_vc_handle_rss_cfg() [all …]
|
| /linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/ |
| H A D | hclgevf_main.c | 524 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclgevf_get_rss_hash_key() local 547 memcpy(&rss_cfg->rss_hash_key[hash_key_index], in hclgevf_get_rss_hash_key() 551 memcpy(&rss_cfg->rss_hash_key[hash_key_index], in hclgevf_get_rss_hash_key() 562 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclgevf_get_rss() local 566 hclge_comm_get_rss_hash_info(rss_cfg, key, hfunc); in hclgevf_get_rss() 574 memcpy(key, rss_cfg->rss_hash_key, in hclgevf_get_rss() 579 hclge_comm_get_rss_indir_tbl(rss_cfg, indir, in hclgevf_get_rss() 589 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclgevf_set_rss() local 593 ret = hclge_comm_set_rss_hash_key(rss_cfg, &hdev->hw.hw, key, in hclgevf_set_rss() 601 rss_cfg->rss_indirection_tbl[i] = indir[i]; in hclgevf_set_rss() [all …]
|
| H A D | hclgevf_main.h | 214 struct hclge_comm_rss_cfg rss_cfg; member
|
| /linux/drivers/net/ethernet/fungible/funeth/ |
| H A D | funeth_main.c | 211 memcpy(fp->rss_cfg, key, FUN_ETH_RSS_MAX_KEY_SIZE); in fun_config_rss() 212 indir_tab = fp->rss_cfg + FUN_ETH_RSS_MAX_KEY_SIZE; in fun_config_rss() 804 if (fp->rss_cfg) { in fun_up() 1366 if (!fp->rss_cfg) in fun_reset_rss_indir() 1389 if (!fp->rss_cfg) in fun_rss_set_qnum() 1429 fp->rss_cfg = dma_alloc_coherent(&fp->pdev->dev, size, in fun_init_rss() 1431 if (!fp->rss_cfg) in fun_init_rss() 1442 if (fp->rss_cfg) { in fun_free_rss() 1445 fp->rss_cfg, fp->rss_dma_addr); in fun_free_rss() 1446 fp->rss_cfg = NULL; in fun_free_rss()
|
| H A D | funeth.h | 141 void *rss_cfg; member
|
| H A D | funeth_ethtool.c | 978 if (!fp->rss_cfg) in fun_get_rxfh() 1003 if (!fp->rss_cfg) in fun_set_rxfh()
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_flow.c | 2252 struct ice_rss_cfg *r, *rss_cfg; in ice_add_rss_list() local 2261 rss_cfg = devm_kzalloc(ice_hw_to_dev(hw), sizeof(*rss_cfg), in ice_add_rss_list() 2263 if (!rss_cfg) in ice_add_rss_list() 2266 rss_cfg->hash.hash_flds = prof->segs[prof->segs_cnt - 1].match; in ice_add_rss_list() 2267 rss_cfg->hash.addl_hdrs = prof->segs[prof->segs_cnt - 1].hdrs; in ice_add_rss_list() 2268 rss_cfg->hash.hdr_type = hdr_type; in ice_add_rss_list() 2269 rss_cfg->hash.symm = prof->symm; in ice_add_rss_list() 2270 set_bit(vsi_handle, rss_cfg->vsis); in ice_add_rss_list() 2272 list_add_tail(&rss_cfg->l_entry, &hw->rss_list_head); in ice_add_rss_list()
|
| /linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/ |
| H A D | hclge_mbx.c | 751 struct hclge_comm_rss_cfg *rss_cfg; in hclge_get_rss_key() local 756 rss_cfg = &hdev->rss_cfg; in hclge_get_rss_key() 757 rss_hash_key_size = sizeof(rss_cfg->rss_hash_key); in hclge_get_rss_key() 770 &rss_cfg->rss_hash_key[index * HCLGE_RSS_MBX_RESP_LEN], in hclge_get_rss_key()
|
| H A D | hclge_dcb.c | 217 hclge_comm_rss_indir_init_cfg(hdev->ae_dev, &hdev->rss_cfg); in hclge_map_update()
|
| H A D | hclge_main.c | 4840 struct hclge_comm_rss_cfg *rss_cfg = &vport->back->rss_cfg; in hclge_get_rss() local 4842 hclge_comm_get_rss_hash_info(rss_cfg, key, hfunc); in hclge_get_rss() 4844 hclge_comm_get_rss_indir_tbl(rss_cfg, indir, in hclge_get_rss() 4856 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclge_set_rss() local 4859 ret = hclge_comm_set_rss_hash_key(rss_cfg, &hdev->hw.hw, key, hfunc); in hclge_set_rss() 4867 rss_cfg->rss_indirection_tbl[i] = indir[i]; in hclge_set_rss() 4871 rss_cfg->rss_indirection_tbl); in hclge_set_rss() 4882 &hdev->rss_cfg, nfc); in hclge_set_rss_tuple() 4901 ret = hclge_comm_get_rss_tuple(&vport->back->rss_cfg, nfc->flow_type, in hclge_get_rss_tuple() 4965 u16 *rss_indir = hdev->rss_cfg.rss_indirection_tbl; in hclge_rss_init_hw() [all …]
|
| H A D | hclge_main.h | 988 struct hclge_comm_rss_cfg rss_cfg; member
|
| /linux/drivers/net/ethernet/netronome/nfp/ |
| H A D | nfp_net_ethtool.c | 1322 if (nn->rss_cfg & nfp_rss_flag) in nfp_net_get_rxfh_fields() 1469 u32 new_rss_cfg = nn->rss_cfg; in nfp_net_set_rxfh_fields() 1504 if (new_rss_cfg == nn->rss_cfg) in nfp_net_set_rxfh_fields() 1512 nn->rss_cfg = new_rss_cfg; in nfp_net_set_rxfh_fields() 1514 nn_dbg(nn, "Changed RSS config to 0x%x\n", nn->rss_cfg); in nfp_net_set_rxfh_fields()
|
| H A D | nfp_net.h | 642 u32 rss_cfg; member
|
| /linux/drivers/net/ethernet/brocade/bna/ |
| H A D | bna_types.h | 776 struct bna_rss_config rss_cfg; member
|