Home
last modified time | relevance | path

Searched refs:indir (Results 1 – 25 of 37) sorted by relevance

12

/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Drqt.c34 void mlx5e_rss_params_indir_init_uniform(struct mlx5e_rss_params_indir *indir, in mlx5e_rss_params_indir_init_uniform() argument
39 for (i = 0; i < indir->actual_table_size; i++) in mlx5e_rss_params_indir_init_uniform()
40 indir->table[i] = i % num_channels; in mlx5e_rss_params_indir_init_uniform()
113 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_calc_indir_rqns() argument
117 for (i = 0; i < indir->actual_table_size; i++) { in mlx5e_calc_indir_rqns()
121 ix = mlx5e_bits_invert(ix, ilog2(indir->actual_table_size)); in mlx5e_calc_indir_rqns()
123 ix = indir->table[ix]; in mlx5e_calc_indir_rqns()
140 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_rqt_init_indir() argument
145 rss_rqns = kvmalloc_array(indir->actual_table_size, sizeof(*rss_rqns), GFP_KERNEL); in mlx5e_rqt_init_indir()
150 rss_vhca_ids = kvmalloc_array(indir->actual_table_size, sizeof(*rss_vhca_ids), in mlx5e_rqt_init_indir()
[all …]
H A Drqt.h19 void mlx5e_rss_params_indir_init_uniform(struct mlx5e_rss_params_indir *indir,
32 u8 hfunc, struct mlx5e_rss_params_indir *indir);
45 u8 hfunc, struct mlx5e_rss_params_indir *indir);
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dindir_table.c49 struct mlx5_esw_indir_table *indir = kvzalloc(sizeof(*indir), GFP_KERNEL); in mlx5_esw_indir_table_init() local
51 if (!indir) in mlx5_esw_indir_table_init()
54 mutex_init(&indir->lock); in mlx5_esw_indir_table_init()
55 hash_init(indir->table); in mlx5_esw_indir_table_init()
56 return indir; in mlx5_esw_indir_table_init()
60 mlx5_esw_indir_table_destroy(struct mlx5_esw_indir_table *indir) in mlx5_esw_indir_table_destroy() argument
62 mutex_destroy(&indir->lock); in mlx5_esw_indir_table_destroy()
63 kvfree(indir); in mlx5_esw_indir_table_destroy()
293 hash_add(esw->fdb_table.offloads.indir->table, &e->hlist, in mlx5_esw_indir_table_entry_create()
316 hash_for_each_possible(esw->fdb_table.offloads.indir->table, e, hlist, key) in mlx5_esw_indir_table_entry_lookup()
[all …]
H A Dindir_table.h12 mlx5_esw_indir_table_destroy(struct mlx5_esw_indir_table *indir);
38 mlx5_esw_indir_table_destroy(struct mlx5_esw_indir_table *indir) in mlx5_esw_indir_table_destroy() argument
/linux/fs/freevxfs/
H A Dvxfs_bmap.c65 __fs32 *indir; in vxfs_bmap_ext4() local
72 indir = (__fs32 *)buf->b_data; in vxfs_bmap_ext4()
73 bno = fs32_to_cpu(sbi, indir[(bn / indsize) % (indsize * bn)]) + in vxfs_bmap_ext4()
107 vxfs_bmap_indir(struct inode *ip, long indir, int size, long block) in vxfs_bmap_indir() argument
119 indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb))); in vxfs_bmap_indir()
/linux/drivers/net/ethernet/sfc/
H A Dethtool_common.c1174 if (rxfh->indir) in efx_ethtool_get_rxfh()
1175 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_ethtool_get_rxfh()
1190 const u32 *indir = rxfh->indir; in efx_ethtool_modify_rxfh_context() local
1209 if (!indir) in efx_ethtool_modify_rxfh_context()
1210 indir = ethtool_rxfh_context_indir(ctx); in efx_ethtool_modify_rxfh_context()
1212 return efx->type->rx_push_rss_context_config(efx, priv, indir, key, in efx_ethtool_modify_rxfh_context()
1233 if (!rxfh->indir) in efx_ethtool_create_rxfh_context()
1269 u32 *indir = rxfh->indir; in efx_ethtool_set_rxfh() local
1281 if (!indir && !key) in efx_ethtool_set_rxfh()
1286 if (!indir) in efx_ethtool_set_rxfh()
[all …]
H A Drx_common.h89 void efx_set_default_rx_indir_table(struct efx_nic *efx, u32 *indir);
H A Drx_common.c573 void efx_set_default_rx_indir_table(struct efx_nic *efx, u32 *indir) in efx_set_default_rx_indir_table() argument
578 indir[i] = ethtool_rxfh_indir_default(i, efx->rss_spread); in efx_set_default_rx_indir_table()
/linux/tools/testing/selftests/drivers/net/hw/
H A Dtoeplitz.c528 if (rsp->_count.indir > RSS_MAX_INDIR) in read_rss_dev_info_ynl()
530 rsp->_count.indir, RSS_MAX_INDIR); in read_rss_dev_info_ynl()
533 if (rsp->_count.indir) { in read_rss_dev_info_ynl()
534 memcpy(rss_indir_tbl, rsp->indir, in read_rss_dev_info_ynl()
535 rsp->_count.indir * sizeof(rss_indir_tbl[0])); in read_rss_dev_info_ynl()
536 rss_indir_tbl_size = rsp->_count.indir; in read_rss_dev_info_ynl()
/linux/drivers/net/ethernet/microchip/
H A Dlan743x_ethtool.c961 if (rxfh->indir) { in lan743x_ethtool_get_rxfh()
970 rxfh->indir[byte_index + 0] = in lan743x_ethtool_get_rxfh()
972 rxfh->indir[byte_index + 1] = in lan743x_ethtool_get_rxfh()
974 rxfh->indir[byte_index + 2] = in lan743x_ethtool_get_rxfh()
976 rxfh->indir[byte_index + 3] = in lan743x_ethtool_get_rxfh()
1009 u32 *indir = rxfh->indir; in lan743x_ethtool_set_rxfh() local
1016 if (indir) { in lan743x_ethtool_set_rxfh()
1024 (((indir[byte_index + 0] & 0x000000FF) << 0) | in lan743x_ethtool_set_rxfh()
1025 ((indir[byte_index + 1] & 0x000000FF) << 8) | in lan743x_ethtool_set_rxfh()
1026 ((indir[byte_index + 2] & 0x000000FF) << 16) | in lan743x_ethtool_set_rxfh()
[all …]
/linux/drivers/net/ethernet/hisilicon/hns3/hns3_common/
H A Dhclge_comm_rss.c277 struct hclge_comm_hw *hw, const u16 *indir) in hclge_comm_set_rss_indir_table() argument
301 qid = indir[i * HCLGE_COMM_RSS_CFG_TBL_SIZE + j]; in hclge_comm_set_rss_indir_table()
371 u32 *indir, u16 rss_ind_tbl_size) in hclge_comm_get_rss_indir_tbl() argument
375 if (!indir) in hclge_comm_get_rss_indir_tbl()
379 indir[i] = rss_cfg->rss_indirection_tbl[i]; in hclge_comm_get_rss_indir_tbl()
H A Dhclge_comm_rss.h107 u32 *indir, u16 rss_ind_tbl_size);
118 struct hclge_comm_hw *hw, const u16 *indir);
/linux/drivers/net/ethernet/marvell/mvpp2/
H A Dmvpp2_cls.c1488 mvpp22_rxfh_indir(port, table->indir[i])); in mvpp22_rss_fill_table()
1588 const u32 *indir) in mvpp22_port_rss_ctx_indir_set() argument
1597 memcpy(rss_table->indir, indir, in mvpp22_port_rss_ctx_indir_set()
1598 MVPP22_RSS_TABLE_ENTRIES * sizeof(rss_table->indir[0])); in mvpp22_port_rss_ctx_indir_set()
1606 u32 *indir) in mvpp22_port_rss_ctx_indir_get() argument
1615 memcpy(indir, rss_table->indir, in mvpp22_port_rss_ctx_indir_get()
1616 MVPP22_RSS_TABLE_ENTRIES * sizeof(rss_table->indir[0])); in mvpp22_port_rss_ctx_indir_get()
1727 table->indir[i] = ethtool_rxfh_indir_default(i, port->nrxqs); in mvpp22_port_rss_init()
H A Dmvpp2_cls.h271 const u32 *indir);
273 u32 *indir);
/linux/drivers/net/ethernet/sfc/siena/
H A Dethtool_common.c1162 if (rxfh->indir) in efx_siena_ethtool_get_rxfh()
1163 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_siena_ethtool_get_rxfh()
1176 u32 *indir = rxfh->indir; in efx_siena_ethtool_set_rxfh() local
1184 if (!indir && !key) in efx_siena_ethtool_set_rxfh()
1189 if (!indir) in efx_siena_ethtool_set_rxfh()
1190 indir = efx->rss_context.rx_indir_table; in efx_siena_ethtool_set_rxfh()
1192 return efx->type->rx_push_rss_config(efx, true, indir, key); in efx_siena_ethtool_set_rxfh()
/linux/drivers/net/ethernet/huawei/hinic/
H A Dhinic_ethtool.c1061 const u32 *indir, const u8 *key) in __set_rss_rxfh() argument
1066 if (indir) { in __set_rss_rxfh()
1075 memcpy(nic_dev->rss_indir_user, indir, in __set_rss_rxfh()
1079 nic_dev->rss_tmpl_idx, indir); in __set_rss_rxfh()
1140 if (rxfh->indir) { in hinic_get_rxfh()
1143 rxfh->indir); in hinic_get_rxfh()
1181 err = __set_rss_rxfh(netdev, rxfh->indir, rxfh->key); in hinic_set_rxfh()
/linux/drivers/net/ethernet/aquantia/atlantic/
H A Daq_ethtool.c455 if (rxfh->indir) { in aq_ethtool_get_rss()
457 rxfh->indir[i] = cfg->aq_rss.indirection_table[i]; in aq_ethtool_get_rss()
484 if (rxfh->indir) in aq_ethtool_set_rss()
486 cfg->aq_rss.indirection_table[i] = rxfh->indir[i]; in aq_ethtool_set_rss()
/linux/net/ethtool/
H A Dcommon.c734 rxfh.indir = kcalloc(dev_size, sizeof(rxfh.indir[0]), GFP_USER); in ethtool_get_max_rxfh_channel()
735 if (!rxfh.indir) in ethtool_get_max_rxfh_channel()
747 current_max = max(current_max, rxfh.indir[dev_size]); in ethtool_check_max_channel()
750 kfree(rxfh.indir); in ethtool_check_max_channel()
/linux/drivers/net/ethernet/emulex/benet/
H A Dbe_ethtool.c1274 if (rxfh->indir) { in be_get_rxfh()
1276 rxfh->indir[i] = rss->rss_queue[i]; in be_get_rxfh()
1301 if (rxfh->indir) { in be_set_rxfh()
1305 j = rxfh->indir[i]; in be_set_rxfh()
/linux/drivers/net/ethernet/sfc/falcon/
H A Dethtool.c1268 if (rxfh->indir) in ef4_ethtool_get_rxfh()
1269 memcpy(rxfh->indir, efx->rx_indir_table, in ef4_ethtool_get_rxfh()
1285 if (!rxfh->indir) in ef4_ethtool_set_rxfh()
1288 return efx->type->rx_push_rss_config(efx, true, rxfh->indir); in ef4_ethtool_set_rxfh()
/linux/drivers/net/ethernet/hisilicon/hns/
H A Dhns_ethtool.c1201 if (!rxfh->indir) in hns_get_rss()
1205 rxfh->indir, rxfh->key, &rxfh->hfunc); in hns_get_rss()
1230 rxfh->indir, rxfh->key, rxfh->hfunc); in hns_set_rss()
/linux/drivers/net/ethernet/intel/igc/
H A Digc_ethtool.c1497 if (!rxfh->indir) in igc_ethtool_get_rxfh()
1500 rxfh->indir[i] = adapter->rss_indir_tbl[i]; in igc_ethtool_get_rxfh()
1518 if (!rxfh->indir) in igc_ethtool_set_rxfh()
1525 if (rxfh->indir[i] >= num_queues) in igc_ethtool_set_rxfh()
1529 adapter->rss_indir_tbl[i] = rxfh->indir[i]; in igc_ethtool_set_rxfh()
/linux/drivers/net/ethernet/qlogic/qede/
H A Dqede_ethtool.c1377 if (!rxfh->indir) in qede_get_rxfh()
1381 rxfh->indir[i] = edev->rss_ind_table[i]; in qede_get_rxfh()
1407 if (!rxfh->indir && !rxfh->key) in qede_set_rxfh()
1410 if (rxfh->indir) { in qede_set_rxfh()
1412 edev->rss_ind_table[i] = rxfh->indir[i]; in qede_set_rxfh()
/linux/drivers/net/ethernet/intel/fm10k/
H A Dfm10k.h522 void fm10k_write_reta(struct fm10k_intfc *interface, const u32 *indir);
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_ethtool.c1593 if (!rxfh->indir) in get_rss_table()
1596 rxfh->indir[n] = pi->rss[n]; in get_rss_table()
1614 if (!rxfh->indir) in set_rss_table()
1620 pi->rss[i] = rxfh->indir[i]; in set_rss_table()

12