Searched refs:indir (Results 1 - 25 of 74) sorted by relevance

123

/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Drqt.c34 void mlx5e_rss_params_indir_init_uniform(struct mlx5e_rss_params_indir *indir, argument
39 for (i = 0; i < indir->actual_table_size; i++)
40 indir->table[i] = i % num_channels;
113 u8 hfunc, struct mlx5e_rss_params_indir *indir)
117 for (i = 0; i < indir->actual_table_size; i++) {
121 ix = mlx5e_bits_invert(ix, ilog2(indir->actual_table_size));
123 ix = indir->table[ix];
127 * ethtool: indir table refers to non-existent RQs.
140 u8 hfunc, struct mlx5e_rss_params_indir *indir)
145 rss_rqns = kvmalloc_array(indir
111 mlx5e_calc_indir_rqns(u32 *rss_rqns, u32 *rqns, u32 *rss_vhca_ids, u32 *vhca_ids, unsigned int num_rqns, u8 hfunc, struct mlx5e_rss_params_indir *indir) argument
138 mlx5e_rqt_init_indir(struct mlx5e_rqt *rqt, struct mlx5_core_dev *mdev, u32 *rqns, u32 *vhca_ids, unsigned int num_rqns, u8 hfunc, struct mlx5e_rss_params_indir *indir) argument
230 mlx5e_rqt_redirect_indir(struct mlx5e_rqt *rqt, u32 *rqns, u32 *vhca_ids, unsigned int num_rqns, u8 hfunc, struct mlx5e_rss_params_indir *indir) argument
[all...]
H A Drss.c72 struct mlx5e_rss_params_indir indir; member in struct:mlx5e_rss
86 rss->indir.actual_table_size = mlx5e_rqt_size(rss->mdev, num_channels);
89 int mlx5e_rss_params_indir_init(struct mlx5e_rss_params_indir *indir, struct mlx5_core_dev *mdev, argument
92 indir->table = kvmalloc_array(max_table_size, sizeof(*indir->table), GFP_KERNEL);
93 if (!indir->table)
96 indir->max_table_size = max_table_size;
97 indir->actual_table_size = actual_table_size;
102 void mlx5e_rss_params_indir_cleanup(struct mlx5e_rss_params_indir *indir) argument
104 kvfree(indir
554 mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc) argument
570 mlx5e_rss_set_rxfh(struct mlx5e_rss *rss, const u32 *indir, const u8 *key, const u8 *hfunc, u32 *rqns, u32 *vhca_ids, unsigned int num_rqns) argument
[all...]
H A Drss.h21 int mlx5e_rss_params_indir_init(struct mlx5e_rss_params_indir *indir, struct mlx5_core_dev *mdev,
23 void mlx5e_rss_params_indir_cleanup(struct mlx5e_rss_params_indir *indir);
47 int mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc);
48 int mlx5e_rss_set_rxfh(struct mlx5e_rss *rss, const u32 *indir,
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);
H A Drx_res.h47 u32 *indir, u8 *key, u8 *hfunc);
49 const u32 *indir, const u8 *key, const u8 *hfunc);
H A Drx_res.c199 u32 *indir, u8 *key, u8 *hfunc)
210 return mlx5e_rss_get_rxfh(rss, indir, key, hfunc);
214 const u32 *indir, const u8 *key, const u8 *hfunc)
226 return mlx5e_rss_set_rxfh(rss, indir, key, hfunc, res->rss_rqns, vhca_ids,
198 mlx5e_rx_res_rss_get_rxfh(struct mlx5e_rx_res *res, u32 rss_idx, u32 *indir, u8 *key, u8 *hfunc) argument
213 mlx5e_rx_res_rss_set_rxfh(struct mlx5e_rx_res *res, u32 rss_idx, const u32 *indir, const u8 *key, const u8 *hfunc) argument
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dindir_table.h12 mlx5_esw_indir_table_destroy(struct mlx5_esw_indir_table *indir);
30 /* indir API stubs */
38 mlx5_esw_indir_table_destroy(struct mlx5_esw_indir_table *indir) argument
H A Dindir_table.c49 struct mlx5_esw_indir_table *indir = kvzalloc(sizeof(*indir), GFP_KERNEL); local
51 if (!indir)
54 mutex_init(&indir->lock);
55 hash_init(indir->table);
56 return indir;
60 mlx5_esw_indir_table_destroy(struct mlx5_esw_indir_table *indir) argument
62 mutex_destroy(&indir->lock);
63 kvfree(indir);
293 hash_add(esw->fdb_table.offloads.indir
[all...]
/linux-master/fs/freevxfs/
H A Dvxfs_bmap.c65 __fs32 *indir; local
72 indir = (__fs32 *)buf->b_data;
73 bno = fs32_to_cpu(sbi, indir[(bn / indsize) % (indsize * bn)]) +
79 printk(KERN_WARNING "no matching indir?");
92 * @indir: indirect block we start reading at
97 * vxfs_bmap_indir reads a &struct vxfs_typed at @indir
107 vxfs_bmap_indir(struct inode *ip, long indir, int size, long block) argument
119 indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb)));
/linux-master/drivers/net/ethernet/hisilicon/hns3/hns3_common/
H A Dhclge_comm_rss.h107 u32 *indir, u16 rss_ind_tbl_size);
118 struct hclge_comm_hw *hw, const u16 *indir);
H A Dhclge_comm_rss.c269 struct hclge_comm_hw *hw, const u16 *indir)
293 qid = indir[i * HCLGE_COMM_RSS_CFG_TBL_SIZE + j];
360 u32 *indir, u16 rss_ind_tbl_size)
364 if (!indir)
368 indir[i] = rss_cfg->rss_indirection_tbl[i];
268 hclge_comm_set_rss_indir_table(struct hnae3_ae_dev *ae_dev, struct hclge_comm_hw *hw, const u16 *indir) argument
359 hclge_comm_get_rss_indir_tbl(struct hclge_comm_rss_cfg *rss_cfg, u32 *indir, u16 rss_ind_tbl_size) argument
/linux-master/drivers/net/ethernet/intel/fm10k/
H A Dfm10k_ethtool.c978 void fm10k_write_reta(struct fm10k_intfc *interface, const u32 *indir) argument
991 if (indir)
992 n = indir[4 * i + j];
1013 static int fm10k_get_reta(struct net_device *netdev, u32 *indir) argument
1018 if (!indir)
1021 for (i = 0; i < FM10K_RETA_SIZE; i++, indir += 4) {
1024 indir[0] = (reta << 24) >> 24;
1025 indir[1] = (reta << 16) >> 24;
1026 indir[2] = (reta << 8) >> 24;
1027 indir[
1033 fm10k_set_reta(struct net_device *netdev, const u32 *indir) argument
[all...]
/linux-master/drivers/net/dsa/
H A Dbcm_sf2.h151 u32 indir, dir; \
154 indir = reg_readl(priv, REG_DIR_DATA_READ); \
156 return (u64)indir << 32 | dir; \
/linux-master/drivers/net/ethernet/sfc/
H A Dethtool_common.c1187 if (rxfh->indir)
1188 memcpy(rxfh->indir, ctx->rx_indir_table,
1212 if (rxfh->indir)
1213 memcpy(rxfh->indir, efx->rss_context.rx_indir_table,
1228 u32 *indir = rxfh->indir; local
1250 /* Initialise indir table and key to defaults */
1272 if (!indir)
1273 indir = ctx->rx_indir_table;
1275 rc = efx->type->rx_push_rss_context_config(efx, ctx, indir, ke
1290 u32 *indir = rxfh->indir; local
[all...]
/linux-master/drivers/net/ethernet/sfc/siena/
H A Dethtool_common.c1188 if (rxfh->indir)
1189 memcpy(rxfh->indir, ctx->rx_indir_table,
1213 if (rxfh->indir)
1214 memcpy(rxfh->indir, efx->rss_context.rx_indir_table,
1229 u32 *indir = rxfh->indir; local
1251 /* Initialise indir table and key to defaults */
1273 if (!indir)
1274 indir = ctx->rx_indir_table;
1276 rc = efx->type->rx_push_rss_context_config(efx, ctx, indir, ke
1291 u32 *indir = rxfh->indir; local
[all...]
/linux-master/drivers/net/ethernet/microsoft/mana/
H A Dmana_ethtool.c259 if (rxfh->indir) {
261 rxfh->indir[i] = apc->indir_table[i];
287 if (rxfh->indir) {
289 if (rxfh->indir[i] >= apc->num_queues)
295 apc->indir_table[i] = rxfh->indir[i];
/linux-master/drivers/net/ethernet/amazon/ena/
H A Dena_ethtool.c756 const u32 *indir)
764 ENA_IO_RXQ_IDX(indir[i]));
781 static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir) argument
786 if (!indir)
789 rc = ena_com_indirect_table_get(ena_dev, indir);
798 indir[i] = ENA_IO_RXQ_IDX_TO_COMBINED_IDX(indir[i]);
811 rc = ena_indirection_table_get(adapter, rxfh->indir);
857 if (rxfh->indir) {
858 rc = ena_indirection_table_set(adapter, rxfh->indir);
755 ena_indirection_table_set(struct ena_adapter *adapter, const u32 *indir) argument
[all...]
/linux-master/drivers/net/ethernet/microchip/
H A Dlan743x_ethtool.c941 if (rxfh->indir) {
950 rxfh->indir[byte_index + 0] =
952 rxfh->indir[byte_index + 1] =
954 rxfh->indir[byte_index + 2] =
956 rxfh->indir[byte_index + 3] =
989 u32 *indir = rxfh->indir; local
996 if (indir) {
1004 (((indir[byte_index + 0] & 0x000000FF) << 0) |
1005 ((indir[byte_inde
[all...]
/linux-master/drivers/net/ethernet/marvell/mvpp2/
H A Dmvpp2_cls.h271 const u32 *indir);
273 u32 *indir);
H A Dmvpp2_cls.c1488 mvpp22_rxfh_indir(port, table->indir[i]));
1598 const u32 *indir)
1607 memcpy(rss_table->indir, indir,
1608 MVPP22_RSS_TABLE_ENTRIES * sizeof(rss_table->indir[0]));
1616 u32 *indir)
1625 memcpy(indir, rss_table->indir,
1626 MVPP22_RSS_TABLE_ENTRIES * sizeof(rss_table->indir[0]));
1735 table->indir[
1597 mvpp22_port_rss_ctx_indir_set(struct mvpp2_port *port, u32 port_ctx, const u32 *indir) argument
1615 mvpp22_port_rss_ctx_indir_get(struct mvpp2_port *port, u32 port_ctx, u32 *indir) argument
[all...]
/linux-master/drivers/net/ethernet/hisilicon/hns/
H A Dhns_ae_adapt.c887 static int hns_ae_get_rss(struct hnae_handle *handle, u32 *indir, u8 *key, argument
901 if (indir)
902 memcpy(indir, ppe_cb->rss_indir_table,
903 HNS_PPEV2_RSS_IND_TBL_SIZE * sizeof(*indir));
908 static int hns_ae_set_rss(struct hnae_handle *handle, const u32 *indir, argument
919 if (indir) {
921 memcpy(ppe_cb->rss_indir_table, indir,
922 HNS_PPEV2_RSS_IND_TBL_SIZE * sizeof(*indir));
/linux-master/net/ethtool/
H A Dioctl.c1055 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr, argument
1061 if (copy_from_user(indir, useraddr, array_size(size, sizeof(indir[0]))))
1066 if (indir[i] >= rx_rings->data)
1112 rxfh.indir = kcalloc(rxfh.indir_size, sizeof(rxfh.indir[0]), GFP_USER);
1113 if (!rxfh.indir)
1121 rxfh.indir, rxfh.indir_size * sizeof(*rxfh.indir)))
1125 kfree(rxfh.indir);
1167 u32 *indir = rxfh_dev.indir; local
1354 u32 *indir; local
[all...]
H A Drss.c91 rxfh.indir = data->indir_table;
H A Dcommon.c603 rxfh.indir = kcalloc(dev_size, sizeof(rxfh.indir[0]), GFP_USER);
604 if (!rxfh.indir)
612 current_max = max(current_max, rxfh.indir[dev_size]);
617 kfree(rxfh.indir);
/linux-master/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_ethtool.c879 if (rxfh->indir) {
882 rss_ctx->ind_tbl[idx] = rxfh->indir[idx];
897 u32 *indir = rxfh->indir; local
906 if (!indir)
912 indir[idx] = ethtool_rxfh_indir_default(idx, rx_queues);
922 if (indir) {
924 indir[idx] = rss_ctx->ind_tbl[idx];

Completed in 206 milliseconds

123