/openbmc/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() 117 int hclge_comm_set_rss_hash_key(struct hclge_comm_rss_cfg *rss_cfg, in hclge_comm_set_rss_hash_key() argument 124 ret = hclge_comm_parse_rss_hfunc(rss_cfg, hfunc, &hash_algo); in hclge_comm_set_rss_hash_key() 135 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,
|
/openbmc/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 …]
|
/openbmc/linux/drivers/net/ethernet/intel/iavf/ |
H A D | iavf_adv_rss.c | 102 iavf_fill_adv_rss_cfg_msg(struct virtchnl_rss_cfg *rss_cfg, in iavf_fill_adv_rss_cfg_msg() argument 105 struct virtchnl_proto_hdrs *proto_hdrs = &rss_cfg->proto_hdrs; in iavf_fill_adv_rss_cfg_msg() 108 rss_cfg->rss_algorithm = VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC; in iavf_fill_adv_rss_cfg_msg()
|
H A D | iavf_virtchnl.c | 1791 struct virtchnl_rss_cfg *rss_cfg; in iavf_add_adv_rss_cfg() local 1804 rss_cfg = kzalloc(len, GFP_KERNEL); in iavf_add_adv_rss_cfg() 1805 if (!rss_cfg) in iavf_add_adv_rss_cfg() 1813 memcpy(rss_cfg, &rss->cfg_msg, len); in iavf_add_adv_rss_cfg() 1825 (u8 *)rss_cfg, len); in iavf_add_adv_rss_cfg() 1830 kfree(rss_cfg); in iavf_add_adv_rss_cfg() 1842 struct virtchnl_rss_cfg *rss_cfg; in iavf_del_adv_rss_cfg() local 1855 rss_cfg = kzalloc(len, GFP_KERNEL); in iavf_del_adv_rss_cfg() 1856 if (!rss_cfg) in iavf_del_adv_rss_cfg() 1864 memcpy(rss_cfg, &rss->cfg_msg, len); in iavf_del_adv_rss_cfg() [all …]
|
H A D | iavf_adv_rss.h | 88 iavf_fill_adv_rss_cfg_msg(struct virtchnl_rss_cfg *rss_cfg,
|
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_ethtool.c | 632 u32 rss_cfg = rss->flowkey_cfg; in otx2_set_rss_hash_opts() local 645 rss_cfg |= NIX_FLOW_KEY_TYPE_VLAN; in otx2_set_rss_hash_opts() 647 rss_cfg &= ~NIX_FLOW_KEY_TYPE_VLAN; in otx2_set_rss_hash_opts() 657 rss_cfg &= ~NIX_FLOW_KEY_TYPE_TCP; in otx2_set_rss_hash_opts() 660 rss_cfg |= NIX_FLOW_KEY_TYPE_TCP; in otx2_set_rss_hash_opts() 670 rss_cfg &= ~NIX_FLOW_KEY_TYPE_UDP; in otx2_set_rss_hash_opts() 673 rss_cfg |= NIX_FLOW_KEY_TYPE_UDP; in otx2_set_rss_hash_opts() 683 rss_cfg &= ~NIX_FLOW_KEY_TYPE_SCTP; in otx2_set_rss_hash_opts() 686 rss_cfg |= NIX_FLOW_KEY_TYPE_SCTP; in otx2_set_rss_hash_opts() 696 rss_cfg &= ~(NIX_FLOW_KEY_TYPE_ESP | in otx2_set_rss_hash_opts() [all …]
|
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/ |
H A D | hclgevf_main.c | 489 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclgevf_get_rss_hash_key() local 512 memcpy(&rss_cfg->rss_hash_key[hash_key_index], in hclgevf_get_rss_hash_key() 516 memcpy(&rss_cfg->rss_hash_key[hash_key_index], in hclgevf_get_rss_hash_key() 527 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclgevf_get_rss() local 531 hclge_comm_get_rss_hash_info(rss_cfg, key, hfunc); in hclgevf_get_rss() 539 memcpy(key, rss_cfg->rss_hash_key, in hclgevf_get_rss() 544 hclge_comm_get_rss_indir_tbl(rss_cfg, indir, in hclgevf_get_rss() 554 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclgevf_set_rss() local 558 ret = hclge_comm_set_rss_hash_key(rss_cfg, &hdev->hw.hw, key, in hclgevf_set_rss() 566 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
|
/openbmc/linux/drivers/net/ethernet/cavium/thunder/ |
H A D | nicvf_ethtool.c | 567 u64 rss_cfg = nicvf_reg_read(nic, NIC_VNIC_RSS_CFG); in nicvf_set_rss_hash_opts() local 584 rss_cfg &= ~(1ULL << RSS_HASH_TCP); in nicvf_set_rss_hash_opts() 587 rss_cfg |= (1ULL << RSS_HASH_TCP); in nicvf_set_rss_hash_opts() 597 rss_cfg &= ~(1ULL << RSS_HASH_UDP); in nicvf_set_rss_hash_opts() 600 rss_cfg |= (1ULL << RSS_HASH_UDP); in nicvf_set_rss_hash_opts() 610 rss_cfg &= ~(1ULL << RSS_HASH_L4ETC); in nicvf_set_rss_hash_opts() 613 rss_cfg |= (1ULL << RSS_HASH_L4ETC); in nicvf_set_rss_hash_opts() 621 rss_cfg = RSS_HASH_IP; in nicvf_set_rss_hash_opts() 627 nicvf_reg_write(nic, NIC_VNIC_RSS_CFG, rss_cfg); in nicvf_set_rss_hash_opts()
|
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
|
/openbmc/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_flow.c | 2001 struct ice_rss_cfg *r, *rss_cfg; in ice_add_rss_list() local 2010 rss_cfg = devm_kzalloc(ice_hw_to_dev(hw), sizeof(*rss_cfg), in ice_add_rss_list() 2012 if (!rss_cfg) in ice_add_rss_list() 2015 rss_cfg->hashed_flds = prof->segs[prof->segs_cnt - 1].match; in ice_add_rss_list() 2016 rss_cfg->packet_hdr = prof->segs[prof->segs_cnt - 1].hdrs; in ice_add_rss_list() 2017 set_bit(vsi_handle, rss_cfg->vsis); in ice_add_rss_list() 2019 list_add_tail(&rss_cfg->l_entry, &hw->rss_list_head); in ice_add_rss_list()
|
H A D | ice_virtchnl.c | 689 ice_vc_parse_rss_cfg(struct ice_hw *hw, struct virtchnl_rss_cfg *rss_cfg, in ice_vc_parse_rss_cfg() argument 701 for (i = 0; i < rss_cfg->proto_hdrs.count; i++) { in ice_vc_parse_rss_cfg() 703 &rss_cfg->proto_hdrs.proto_hdr[i]; in ice_vc_parse_rss_cfg() 761 struct virtchnl_rss_cfg *rss_cfg = (struct virtchnl_rss_cfg *)msg; in ice_vc_handle_rss_cfg() local 786 if (rss_cfg->proto_hdrs.count > VIRTCHNL_MAX_NUM_PROTO_HDRS || in ice_vc_handle_rss_cfg() 787 rss_cfg->rss_algorithm < VIRTCHNL_RSS_ALG_TOEPLITZ_ASYMMETRIC || in ice_vc_handle_rss_cfg() 788 rss_cfg->rss_algorithm > VIRTCHNL_RSS_ALG_XOR_SYMMETRIC) { in ice_vc_handle_rss_cfg() 801 if (!ice_vc_validate_pattern(vf, &rss_cfg->proto_hdrs)) { in ice_vc_handle_rss_cfg() 806 if (rss_cfg->rss_algorithm == VIRTCHNL_RSS_ALG_R_ASYMMETRIC) { in ice_vc_handle_rss_cfg() 848 if (!ice_vc_parse_rss_cfg(hw, rss_cfg, &addl_hdrs, in ice_vc_handle_rss_cfg()
|
/openbmc/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() 1378 if (!fp->rss_cfg) in fun_reset_rss_indir() 1401 if (!fp->rss_cfg) in fun_rss_set_qnum() 1441 fp->rss_cfg = dma_alloc_coherent(&fp->pdev->dev, size, in fun_init_rss() 1443 if (!fp->rss_cfg) in fun_init_rss() 1454 if (fp->rss_cfg) { in fun_free_rss() 1457 fp->rss_cfg, fp->rss_dma_addr); in fun_free_rss() 1458 fp->rss_cfg = NULL; in fun_free_rss()
|
H A D | funeth.h | 141 void *rss_cfg; member
|
H A D | funeth_ethtool.c | 985 if (!fp->rss_cfg) in fun_get_rxfh() 1010 if (!fp->rss_cfg) in fun_set_rxfh()
|
/openbmc/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 755 rss_cfg = &hdev->rss_cfg; in hclge_get_rss_key() 761 sizeof(rss_cfg->rss_hash_key)) { in hclge_get_rss_key() 769 &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 | 4767 struct hclge_comm_rss_cfg *rss_cfg = &vport->back->rss_cfg; in hclge_get_rss() local 4769 hclge_comm_get_rss_hash_info(rss_cfg, key, hfunc); in hclge_get_rss() 4771 hclge_comm_get_rss_indir_tbl(rss_cfg, indir, in hclge_get_rss() 4783 struct hclge_comm_rss_cfg *rss_cfg = &hdev->rss_cfg; in hclge_set_rss() local 4786 ret = hclge_comm_set_rss_hash_key(rss_cfg, &hdev->hw.hw, key, hfunc); in hclge_set_rss() 4794 rss_cfg->rss_indirection_tbl[i] = indir[i]; in hclge_set_rss() 4798 rss_cfg->rss_indirection_tbl); in hclge_set_rss() 4809 &hdev->rss_cfg, nfc); in hclge_set_rss_tuple() 4828 ret = hclge_comm_get_rss_tuple(&vport->back->rss_cfg, nfc->flow_type, in hclge_get_rss_tuple() 4892 u16 *rss_indir = hdev->rss_cfg.rss_indirection_tbl; in hclge_rss_init_hw() [all …]
|
H A D | hclge_main.h | 970 struct hclge_comm_rss_cfg rss_cfg; member
|
/openbmc/linux/drivers/net/ethernet/netronome/nfp/ |
H A D | nfp_net_ethtool.c | 1314 if (nn->rss_cfg & nfp_rss_flag) in nfp_net_get_rss_hash_opts() 1339 u32 new_rss_cfg = nn->rss_cfg; in nfp_net_set_rss_hash_opt() 1374 if (new_rss_cfg == nn->rss_cfg) in nfp_net_set_rss_hash_opt() 1382 nn->rss_cfg = new_rss_cfg; in nfp_net_set_rss_hash_opt() 1384 nn_dbg(nn, "Changed RSS config to 0x%x\n", nn->rss_cfg); in nfp_net_set_rss_hash_opt()
|
H A D | nfp_net.h | 639 u32 rss_cfg; member
|
/openbmc/linux/drivers/net/ethernet/brocade/bna/ |
H A D | bna_types.h | 776 struct bna_rss_config rss_cfg; member
|
H A D | bna_tx_rx.c | 321 req->cfg.type = rxf->rss_cfg.hash_type; in bna_bfi_rss_cfg() 322 req->cfg.mask = rxf->rss_cfg.hash_mask; in bna_bfi_rss_cfg() 325 htonl(rxf->rss_cfg.toeplitz_hash_key[i]); in bna_bfi_rss_cfg() 633 rxf->rss_cfg = q_config->rss_config; in bna_rxf_init()
|