/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | rqt.c | 34 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 D | rss.c | 72 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 D | rss.h | 21 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 D | rqt.h | 19 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 D | rx_res.h | 47 u32 *indir, u8 *key, u8 *hfunc); 49 const u32 *indir, const u8 *key, const u8 *hfunc);
|
H A D | rx_res.c | 199 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 D | indir_table.h | 12 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 D | indir_table.c | 49 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 D | vxfs_bmap.c | 65 __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 D | hclge_comm_rss.h | 107 u32 *indir, u16 rss_ind_tbl_size); 118 struct hclge_comm_hw *hw, const u16 *indir);
|
H A D | hclge_comm_rss.c | 269 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 D | fm10k_ethtool.c | 978 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 D | bcm_sf2.h | 151 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 D | ethtool_common.c | 1187 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 D | ethtool_common.c | 1188 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 D | mana_ethtool.c | 259 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 D | ena_ethtool.c | 756 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 D | lan743x_ethtool.c | 941 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 D | mvpp2_cls.h | 271 const u32 *indir); 273 u32 *indir);
|
H A D | mvpp2_cls.c | 1488 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 D | hns_ae_adapt.c | 887 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 D | ioctl.c | 1055 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 D | rss.c | 91 rxfh.indir = data->indir_table;
|
H A D | common.c | 603 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 D | otx2_ethtool.c | 879 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];
|