Home
last modified time | relevance | path

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

1234

/linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Drss.c98 if (!indir->table) in mlx5e_rss_params_indir_init()
116 if (to->indir.actual_table_size != from->indir.actual_table_size || in mlx5e_rss_copy()
117 to->indir.max_table_size != from->indir.max_table_size) { in mlx5e_rss_copy()
120 from->indir.actual_table_size, from->indir.max_table_size, in mlx5e_rss_copy()
121 to->indir.actual_table_size, to->indir.max_table_size); in mlx5e_rss_copy()
128 memcpy(to->indir.table, from->indir.table, in mlx5e_rss_copy()
129 from->indir.actual_table_size * sizeof(*from->indir.table)); in mlx5e_rss_copy()
572 if (indir) in mlx5e_rss_get_rxfh()
573 memcpy(indir, rss->indir.table, in mlx5e_rss_get_rxfh()
623 if (indir) { in mlx5e_rss_set_rxfh()
[all …]
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
163 indir->actual_table_size); in mlx5e_rqt_init_indir()
232 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_rqt_redirect_indir() 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);
50 int mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc, bool *symmetric);
51 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.h52 u32 *indir, u8 *key, u8 *hfunc, bool *symmetric);
54 const u32 *indir, const u8 *key, const u8 *hfunc,
H A Drx_res.c197 u32 *indir, u8 *key, u8 *hfunc, bool *symmetric) in mlx5e_rx_res_rss_get_rxfh() argument
208 return mlx5e_rss_get_rxfh(rss, indir, key, hfunc, symmetric); in mlx5e_rx_res_rss_get_rxfh()
212 const u32 *indir, const u8 *key, const u8 *hfunc, in mlx5e_rx_res_rss_set_rxfh() argument
225 return mlx5e_rss_set_rxfh(rss, indir, key, hfunc, symmetric, in mlx5e_rx_res_rss_set_rxfh()
/linux-6.15/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()
62 mutex_destroy(&indir->lock); in mlx5_esw_indir_table_destroy()
63 kvfree(indir); in mlx5_esw_indir_table_destroy()
330 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
348 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
352 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get()
[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-6.15/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-6.15/drivers/net/ethernet/intel/fm10k/
H A Dfm10k_ethtool.c991 if (indir) in fm10k_write_reta()
992 n = indir[4 * i + j]; in fm10k_write_reta()
1018 if (!indir) in fm10k_get_reta()
1024 indir[0] = (reta << 24) >> 24; in fm10k_get_reta()
1025 indir[1] = (reta << 16) >> 24; in fm10k_get_reta()
1026 indir[2] = (reta << 8) >> 24; in fm10k_get_reta()
1027 indir[3] = (reta) >> 24; in fm10k_get_reta()
1039 if (!indir) in fm10k_set_reta()
1045 if (indir[i] < rss_i) in fm10k_set_reta()
1050 fm10k_write_reta(interface, indir); in fm10k_set_reta()
[all …]
/linux-6.15/drivers/net/ethernet/sfc/
H A Dethtool_common.c1173 if (rxfh->indir) in efx_ethtool_get_rxfh()
1174 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_ethtool_get_rxfh()
1189 const u32 *indir = rxfh->indir; in efx_ethtool_modify_rxfh_context() local
1208 if (!indir) in efx_ethtool_modify_rxfh_context()
1209 indir = ethtool_rxfh_context_indir(ctx); in efx_ethtool_modify_rxfh_context()
1232 if (!rxfh->indir) in efx_ethtool_create_rxfh_context()
1268 u32 *indir = rxfh->indir; in efx_ethtool_set_rxfh() local
1280 if (!indir && !key) in efx_ethtool_set_rxfh()
1285 if (!indir) in efx_ethtool_set_rxfh()
1286 indir = efx->rss_context.rx_indir_table; in efx_ethtool_set_rxfh()
[all …]
/linux-6.15/drivers/net/ethernet/meta/fbnic/
H A Dfbnic_ethtool.c1123 if (rxfh->indir) { in fbnic_get_rxfh()
1125 rxfh->indir[i] = fbn->indir_tbl[0][i]; in fbnic_get_rxfh()
1137 if (fbn->indir_tbl[idx][i] == indir[i]) in fbnic_set_indir()
1140 fbn->indir_tbl[idx][i] = indir[i]; in fbnic_set_indir()
1176 if (rxfh->indir) in fbnic_set_rxfh()
1177 changes += fbnic_set_indir(fbn, 0, rxfh->indir); in fbnic_set_rxfh()
1192 const u32 *indir = rxfh->indir; in fbnic_modify_rxfh_context() local
1195 if (!indir) in fbnic_modify_rxfh_context()
1196 indir = ethtool_rxfh_context_indir(ctx); in fbnic_modify_rxfh_context()
1219 if (!rxfh->indir) { in fbnic_create_rxfh_context()
[all …]
/linux-6.15/drivers/net/ethernet/amazon/ena/
H A Dena_ethtool.c876 const u32 *indir) in ena_indirection_table_set() argument
884 ENA_IO_RXQ_IDX(indir[i])); in ena_indirection_table_set()
901 static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir) in ena_indirection_table_get() argument
906 if (!indir) in ena_indirection_table_get()
909 rc = ena_com_indirect_table_get(ena_dev, indir); in ena_indirection_table_get()
918 indir[i] = ENA_IO_RXQ_IDX_TO_COMBINED_IDX(indir[i]); in ena_indirection_table_get()
931 rc = ena_indirection_table_get(adapter, rxfh->indir); in ena_get_rxfh()
977 if (rxfh->indir) { in ena_set_rxfh()
978 rc = ena_indirection_table_set(adapter, rxfh->indir); in ena_set_rxfh()
/linux-6.15/drivers/net/ethernet/microchip/
H A Dlan743x_ethtool.c941 if (rxfh->indir) { in lan743x_ethtool_get_rxfh()
950 rxfh->indir[byte_index + 0] = in lan743x_ethtool_get_rxfh()
952 rxfh->indir[byte_index + 1] = in lan743x_ethtool_get_rxfh()
954 rxfh->indir[byte_index + 2] = in lan743x_ethtool_get_rxfh()
956 rxfh->indir[byte_index + 3] = in lan743x_ethtool_get_rxfh()
989 u32 *indir = rxfh->indir; in lan743x_ethtool_set_rxfh() local
996 if (indir) { in lan743x_ethtool_set_rxfh()
1004 (((indir[byte_index + 0] & 0x000000FF) << 0) | in lan743x_ethtool_set_rxfh()
1005 ((indir[byte_index + 1] & 0x000000FF) << 8) | in lan743x_ethtool_set_rxfh()
1006 ((indir[byte_index + 2] & 0x000000FF) << 16) | in lan743x_ethtool_set_rxfh()
[all …]
/linux-6.15/net/ethtool/
H A Dioctl.c1081 if (copy_from_user(indir, useraddr, array_size(size, sizeof(indir[0])))) in ethtool_copy_validate_indir()
1132 rxfh.indir = kcalloc(rxfh.indir_size, sizeof(rxfh.indir[0]), GFP_USER); in ethtool_get_rxfh_indir()
1133 if (!rxfh.indir) in ethtool_get_rxfh_indir()
1141 rxfh.indir, rxfh.indir_size * sizeof(*rxfh.indir))) in ethtool_get_rxfh_indir()
1145 kfree(rxfh.indir); in ethtool_get_rxfh_indir()
1178 if (!rxfh_dev.indir) in ethtool_set_rxfh_indir()
1187 u32 *indir = rxfh_dev.indir; in ethtool_set_rxfh_indir() local
1212 kfree(rxfh_dev.indir); in ethtool_set_rxfh_indir()
1277 if (rxfh_dev.indir) in ethtool_get_rxfh()
1451 u32 *indir; in ethtool_set_rxfh() local
[all …]
/linux-6.15/drivers/net/dsa/
H A Dbcm_sf2.h152 u32 indir, dir; \
155 indir = reg_readl(priv, REG_DIR_DATA_READ); \
157 return (u64)indir << 32 | dir; \
/linux-6.15/drivers/net/ethernet/microsoft/mana/
H A Dmana_ethtool.c242 if (rxfh->indir) { in mana_get_rxfh()
244 rxfh->indir[i] = apc->indir_table[i]; in mana_get_rxfh()
274 if (rxfh->indir) { in mana_set_rxfh()
276 if (rxfh->indir[i] >= apc->num_queues) { in mana_set_rxfh()
284 apc->indir_table[i] = rxfh->indir[i]; in mana_set_rxfh()
/linux-6.15/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-6.15/drivers/net/ethernet/hisilicon/hns/
H A Dhns_ae_adapt.c881 static int hns_ae_get_rss(struct hnae_handle *handle, u32 *indir, u8 *key, in hns_ae_get_rss() argument
895 if (indir) in hns_ae_get_rss()
896 memcpy(indir, ppe_cb->rss_indir_table, in hns_ae_get_rss()
897 HNS_PPEV2_RSS_IND_TBL_SIZE * sizeof(*indir)); in hns_ae_get_rss()
902 static int hns_ae_set_rss(struct hnae_handle *handle, const u32 *indir, in hns_ae_set_rss() argument
913 if (indir) { in hns_ae_set_rss()
915 memcpy(ppe_cb->rss_indir_table, indir, in hns_ae_set_rss()
916 HNS_PPEV2_RSS_IND_TBL_SIZE * sizeof(*indir)); in hns_ae_set_rss()
/linux-6.15/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()
1725 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-6.15/drivers/net/ethernet/sfc/siena/
H A Dethtool_common.c1159 if (rxfh->indir) in efx_siena_ethtool_get_rxfh()
1160 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_siena_ethtool_get_rxfh()
1173 u32 *indir = rxfh->indir; in efx_siena_ethtool_set_rxfh() local
1181 if (!indir && !key) in efx_siena_ethtool_set_rxfh()
1186 if (!indir) in efx_siena_ethtool_set_rxfh()
1187 indir = efx->rss_context.rx_indir_table; in efx_siena_ethtool_set_rxfh()
1189 return efx->type->rx_push_rss_config(efx, true, indir, key); in efx_siena_ethtool_set_rxfh()
/linux-6.15/drivers/net/ethernet/google/gve/
H A Dgve_ethtool.c875 if (rxfh->indir) { in gve_get_rss_config_cache()
877 memcpy(rxfh->indir, rss_config->hash_lut, in gve_get_rss_config_cache()
878 priv->rss_lut_size * sizeof(*rxfh->indir)); in gve_get_rss_config_cache()
905 if (rxfh->indir) in gve_set_rss_config_cache()
906 memcpy(rss_config->hash_lut, rxfh->indir, in gve_set_rss_config_cache()
907 priv->rss_lut_size * sizeof(*rxfh->indir)); in gve_set_rss_config_cache()
/linux-6.15/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_ethtool.c869 if (rxfh->indir) { in otx2_set_rxfh()
872 rss_ctx->ind_tbl[idx] = rxfh->indir[idx]; in otx2_set_rxfh()
887 u32 *indir = rxfh->indir; in otx2_get_rxfh() local
896 if (!indir) in otx2_get_rxfh()
902 indir[idx] = ethtool_rxfh_indir_default(idx, rx_queues); in otx2_get_rxfh()
912 if (indir) { in otx2_get_rxfh()
917 indir[idx] = rss_ctx->ind_tbl[idx]; in otx2_get_rxfh()

1234