Home
last modified time | relevance | path

Searched refs:rss_cfg (Results 1 – 25 of 28) sorted by relevance

12

/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3_common/
H A Dhclge_comm_rss.c36 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 Dhclge_comm_rss.h99 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 Dhinic_port.c671 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 Diavf_adv_rss.c102 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 Diavf_virtchnl.c1791 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 Diavf_adv_rss.h88 iavf_fill_adv_rss_cfg_msg(struct virtchnl_rss_cfg *rss_cfg,
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_ethtool.c632 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 Dhclgevf_main.c489 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 Dhclgevf_main.h214 struct hclge_comm_rss_cfg rss_cfg; member
/openbmc/linux/drivers/net/ethernet/cavium/thunder/
H A Dnicvf_ethtool.c567 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 Dnicvf_main.c340 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 Dnic.h594 struct rss_cfg_msg rss_cfg; member
/openbmc/linux/drivers/net/ethernet/intel/ice/
H A Dice_flow.c2001 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 Dice_virtchnl.c689 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 Dfuneth_main.c211 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 Dfuneth.h141 void *rss_cfg; member
H A Dfuneth_ethtool.c985 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 Dhclge_mbx.c751 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 Dhclge_dcb.c217 hclge_comm_rss_indir_init_cfg(hdev->ae_dev, &hdev->rss_cfg); in hclge_map_update()
H A Dhclge_main.c4767 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 Dhclge_main.h970 struct hclge_comm_rss_cfg rss_cfg; member
/openbmc/linux/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_ethtool.c1314 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 Dnfp_net.h639 u32 rss_cfg; member
/openbmc/linux/drivers/net/ethernet/brocade/bna/
H A Dbna_types.h776 struct bna_rss_config rss_cfg; member
H A Dbna_tx_rx.c321 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()

12