/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | rqt.c | 7 void mlx5e_rss_params_indir_init_uniform(struct mlx5e_rss_params_indir *indir, in mlx5e_rss_params_indir_init_uniform() argument 13 indir->table[i] = i % num_channels; in mlx5e_rss_params_indir_init_uniform() 67 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_calc_indir_rqns() 77 ix = indir->table[ix]; in mlx5e_calc_indir_rqns() 81 * ethtool: indir table refers to non-existent RQs. in mlx5e_calc_indir_rqns() 92 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_rqt_init_indir() 101 err = mlx5e_calc_indir_rqns(rss_rqns, rqns, num_rqns, hfunc, indir); in mlx5e_rqt_init_indir() 149 u8 hfunc, struct mlx5e_rss_params_indir *indir) in mlx5e_rqt_redirect_indir() 161 err = mlx5e_calc_indir_rqns(rss_rqns, rqns, num_rqns, hfunc, indir); in mlx5e_rqt_redirect_indir() 66 mlx5e_calc_indir_rqns(u32 *rss_rqns, u32 *rqns, unsigned int num_rqns, u8 hfunc, struct mlx5e_rss_params_indir *indir) mlx5e_calc_indir_rqns() argument 90 mlx5e_rqt_init_indir(struct mlx5e_rqt *rqt, struct mlx5_core_dev *mdev, u32 *rqns, unsigned int num_rqns, u8 hfunc, struct mlx5e_rss_params_indir *indir) mlx5e_rqt_init_indir() argument 148 mlx5e_rqt_redirect_indir(struct mlx5e_rqt *rqt, u32 *rqns, unsigned int num_rqns, u8 hfunc, struct mlx5e_rss_params_indir *indir) mlx5e_rqt_redirect_indir() argument
|
H A D | rqt.h | 17 void mlx5e_rss_params_indir_init_uniform(struct mlx5e_rss_params_indir *indir, 30 u8 hfunc, struct mlx5e_rss_params_indir *indir); 40 u8 hfunc, struct mlx5e_rss_params_indir *indir);
|
H A D | rss.c | 72 struct mlx5e_rss_params_indir indir; member 398 err = mlx5e_rqt_redirect_indir(&rss->rqt, rqns, num_rqns, rss->hash.hfunc, &rss->indir); in mlx5e_rss_apply() 471 int mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc) in mlx5e_rss_get_rxfh() argument 475 if (indir) in mlx5e_rss_get_rxfh() 477 indir[i] = rss->indir.table[i]; in mlx5e_rss_get_rxfh() 489 int mlx5e_rss_set_rxfh(struct mlx5e_rss *rss, const u32 *indir, in mlx5e_rss_set_rxfh() argument 525 if (indir) { in mlx5e_rss_set_rxfh() 531 rss->indir.table[i] = indir[ in mlx5e_rss_set_rxfh() [all...] |
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 | rss.h | 41 int mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc); 42 int mlx5e_rss_set_rxfh(struct mlx5e_rss *rss, const u32 *indir,
|
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | indir_table.c | 49 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 in mlx5_esw_indir_table_entry_create() [all...] |
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) in mlx5_esw_indir_table_destroy() argument
|
/kernel/linux/linux-5.10/drivers/net/ethernet/sfc/ |
H A D | ethtool_common.h | 47 int efx_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key, 50 const u32 *indir, const u8 *key, const u8 hfunc); 51 int efx_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, 54 const u32 *indir, const u8 *key,
|
H A D | ethtool_common.c | 1165 int efx_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key, in efx_ethtool_get_rxfh() argument 1177 if (indir) in efx_ethtool_get_rxfh() 1178 memcpy(indir, efx->rss_context.rx_indir_table, in efx_ethtool_get_rxfh() 1186 int efx_ethtool_set_rxfh(struct net_device *net_dev, const u32 *indir, in efx_ethtool_set_rxfh() argument 1194 if (!indir && !key) in efx_ethtool_set_rxfh() 1199 if (!indir) in efx_ethtool_set_rxfh() 1200 indir = efx->rss_context.rx_indir_table; in efx_ethtool_set_rxfh() 1202 return efx->type->rx_push_rss_config(efx, true, indir, key); in efx_ethtool_set_rxfh() 1205 int efx_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, in efx_ethtool_get_rxfh_context() argument 1227 if (indir) in efx_ethtool_get_rxfh_context() 1236 efx_ethtool_set_rxfh_context(struct net_device *net_dev, const u32 *indir, const u8 *key, const u8 hfunc, u32 *rss_context, bool delete) efx_ethtool_set_rxfh_context() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
H A D | ethtool_common.h | 47 int efx_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key, 50 const u32 *indir, const u8 *key, const u8 hfunc); 51 int efx_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, 54 const u32 *indir, const u8 *key,
|
H A D | ethtool_common.c | 1166 int efx_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key, in efx_ethtool_get_rxfh() argument 1178 if (indir) in efx_ethtool_get_rxfh() 1179 memcpy(indir, efx->rss_context.rx_indir_table, in efx_ethtool_get_rxfh() 1187 int efx_ethtool_set_rxfh(struct net_device *net_dev, const u32 *indir, in efx_ethtool_set_rxfh() argument 1195 if (!indir && !key) in efx_ethtool_set_rxfh() 1200 if (!indir) in efx_ethtool_set_rxfh() 1201 indir = efx->rss_context.rx_indir_table; in efx_ethtool_set_rxfh() 1203 return efx->type->rx_push_rss_config(efx, true, indir, key); in efx_ethtool_set_rxfh() 1206 int efx_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, in efx_ethtool_get_rxfh_context() argument 1228 if (indir) in efx_ethtool_get_rxfh_context() 1237 efx_ethtool_set_rxfh_context(struct net_device *net_dev, const u32 *indir, const u8 *key, const u8 hfunc, u32 *rss_context, bool delete) efx_ethtool_set_rxfh_context() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/siena/ |
H A D | ethtool_common.h | 44 int efx_siena_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key, 47 const u32 *indir, const u8 *key, const u8 hfunc); 48 int efx_siena_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, 51 const u32 *indir, const u8 *key,
|
H A D | ethtool_common.c | 1167 int efx_siena_ethtool_get_rxfh(struct net_device *net_dev, u32 *indir, u8 *key, in efx_siena_ethtool_get_rxfh() argument 1179 if (indir) in efx_siena_ethtool_get_rxfh() 1180 memcpy(indir, efx->rss_context.rx_indir_table, in efx_siena_ethtool_get_rxfh() 1188 int efx_siena_ethtool_set_rxfh(struct net_device *net_dev, const u32 *indir, in efx_siena_ethtool_set_rxfh() argument 1196 if (!indir && !key) in efx_siena_ethtool_set_rxfh() 1201 if (!indir) in efx_siena_ethtool_set_rxfh() 1202 indir = efx->rss_context.rx_indir_table; in efx_siena_ethtool_set_rxfh() 1204 return efx->type->rx_push_rss_config(efx, true, indir, key); in efx_siena_ethtool_set_rxfh() 1207 int efx_siena_ethtool_get_rxfh_context(struct net_device *net_dev, u32 *indir, in efx_siena_ethtool_get_rxfh_context() argument 1229 if (indir) in efx_siena_ethtool_get_rxfh_context() 1238 efx_siena_ethtool_set_rxfh_context(struct net_device *net_dev, const u32 *indir, const u8 *key, const u8 hfunc, u32 *rss_context, bool delete) efx_siena_ethtool_set_rxfh_context() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/microsoft/mana/ |
H A D | mana_ethtool.c | 211 static int mana_get_rxfh(struct net_device *ndev, u32 *indir, u8 *key, in mana_get_rxfh() argument 220 if (indir) { in mana_get_rxfh() 222 indir[i] = apc->indir_table[i]; in mana_get_rxfh() 231 static int mana_set_rxfh(struct net_device *ndev, const u32 *indir, in mana_set_rxfh() argument 246 if (indir) { in mana_set_rxfh() 248 if (indir[i] >= apc->num_queues) in mana_set_rxfh() 254 apc->indir_table[i] = indir[i]; in mana_set_rxfh()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/microchip/ |
H A D | lan743x_ethtool.c | 575 u32 *indir, u8 *key, u8 *hfunc) in lan743x_ethtool_get_rxfh() 579 if (indir) { in lan743x_ethtool_get_rxfh() 588 indir[byte_index + 0] = in lan743x_ethtool_get_rxfh() 590 indir[byte_index + 1] = in lan743x_ethtool_get_rxfh() 592 indir[byte_index + 2] = in lan743x_ethtool_get_rxfh() 594 indir[byte_index + 3] = in lan743x_ethtool_get_rxfh() 624 const u32 *indir, const u8 *key, in lan743x_ethtool_set_rxfh() 632 if (indir) { in lan743x_ethtool_set_rxfh() 640 (((indir[byte_index + 0] & 0x000000FF) << 0) | in lan743x_ethtool_set_rxfh() 641 ((indir[byte_inde in lan743x_ethtool_set_rxfh() 574 lan743x_ethtool_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key, u8 *hfunc) lan743x_ethtool_get_rxfh() argument 623 lan743x_ethtool_set_rxfh(struct net_device *netdev, const u32 *indir, const u8 *key, const u8 hfunc) lan743x_ethtool_set_rxfh() argument [all...] |
/kernel/linux/linux-5.10/fs/freevxfs/ |
H A D | vxfs_bmap.c | 89 __fs32 *indir; in vxfs_bmap_ext4() local 96 indir = (__fs32 *)buf->b_data; in vxfs_bmap_ext4() 97 bno = fs32_to_cpu(sbi, indir[(bn / indsize) % (indsize * bn)]) + in vxfs_bmap_ext4() 103 printk(KERN_WARNING "no matching indir?"); in vxfs_bmap_ext4() 116 * @indir: indirect block we start reading at 121 * vxfs_bmap_indir reads a &struct vxfs_typed at @indir 131 vxfs_bmap_indir(struct inode *ip, long indir, int size, long block) in vxfs_bmap_indir() argument 143 indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb))); in vxfs_bmap_indir()
|
/kernel/linux/linux-6.6/fs/freevxfs/ |
H A D | vxfs_bmap.c | 65 __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() 79 printk(KERN_WARNING "no matching indir?"); in vxfs_bmap_ext4() 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) in vxfs_bmap_indir() argument 119 indir + (i / VXFS_TYPED_PER_BLOCK(ip->i_sb))); in vxfs_bmap_indir()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/fm10k/ |
H A D | fm10k_ethtool.c | 969 void fm10k_write_reta(struct fm10k_intfc *interface, const u32 *indir) in fm10k_write_reta() argument 982 if (indir) in fm10k_write_reta() 983 n = indir[4 * i + j]; in fm10k_write_reta() 1004 static int fm10k_get_reta(struct net_device *netdev, u32 *indir) in fm10k_get_reta() argument 1009 if (!indir) in fm10k_get_reta() 1012 for (i = 0; i < FM10K_RETA_SIZE; i++, indir += 4) { in fm10k_get_reta() 1015 indir[0] = (reta << 24) >> 24; in fm10k_get_reta() 1016 indir[1] = (reta << 16) >> 24; in fm10k_get_reta() 1017 indir[2] = (reta << 8) >> 24; in fm10k_get_reta() 1018 indir[ in fm10k_get_reta() 1024 fm10k_set_reta(struct net_device *netdev, const u32 *indir) fm10k_set_reta() argument 1051 fm10k_get_rssh(struct net_device *netdev, u32 *indir, u8 *key, u8 *hfunc) fm10k_get_rssh() argument 1070 fm10k_set_rssh(struct net_device *netdev, const u32 *indir, const u8 *key, const u8 hfunc) fm10k_set_rssh() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/fm10k/ |
H A D | fm10k_ethtool.c | 978 void fm10k_write_reta(struct fm10k_intfc *interface, const u32 *indir) in fm10k_write_reta() argument 991 if (indir) in fm10k_write_reta() 992 n = indir[4 * i + j]; in fm10k_write_reta() 1013 static int fm10k_get_reta(struct net_device *netdev, u32 *indir) in fm10k_get_reta() argument 1018 if (!indir) in fm10k_get_reta() 1021 for (i = 0; i < FM10K_RETA_SIZE; i++, indir += 4) { 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[ in fm10k_get_reta() 1033 fm10k_set_reta(struct net_device *netdev, const u32 *indir) fm10k_set_reta() argument 1060 fm10k_get_rssh(struct net_device *netdev, u32 *indir, u8 *key, u8 *hfunc) fm10k_get_rssh() argument 1079 fm10k_set_rssh(struct net_device *netdev, const u32 *indir, const u8 *key, const u8 hfunc) fm10k_set_rssh() argument [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/amazon/ena/ |
H A D | ena_ethtool.c | 688 const u32 *indir) in ena_indirection_table_set() 696 ENA_IO_RXQ_IDX(indir[i])); in ena_indirection_table_set() 713 static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir) in ena_indirection_table_get() argument 718 if (!indir) in ena_indirection_table_get() 721 rc = ena_com_indirect_table_get(ena_dev, indir); in ena_indirection_table_get() 730 indir[i] = ENA_IO_RXQ_IDX_TO_COMBINED_IDX(indir[i]); in ena_indirection_table_get() 735 static int ena_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key, in ena_get_rxfh() argument 743 rc = ena_indirection_table_get(adapter, indir); in ena_get_rxfh() 781 static int ena_set_rxfh(struct net_device *netdev, const u32 *indir, in ena_set_rxfh() argument 687 ena_indirection_table_set(struct ena_adapter *adapter, const u32 *indir) ena_indirection_table_set() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/amazon/ena/ |
H A D | ena_ethtool.c | 758 const u32 *indir) in ena_indirection_table_set() 766 ENA_IO_RXQ_IDX(indir[i])); in ena_indirection_table_set() 783 static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir) in ena_indirection_table_get() argument 788 if (!indir) in ena_indirection_table_get() 791 rc = ena_com_indirect_table_get(ena_dev, indir); in ena_indirection_table_get() 800 indir[i] = ENA_IO_RXQ_IDX_TO_COMBINED_IDX(indir[i]); in ena_indirection_table_get() 805 static int ena_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key, in ena_get_rxfh() argument 813 rc = ena_indirection_table_get(adapter, indir); in ena_get_rxfh() 851 static int ena_set_rxfh(struct net_device *netdev, const u32 *indir, in ena_set_rxfh() argument 757 ena_indirection_table_set(struct ena_adapter *adapter, const u32 *indir) ena_indirection_table_set() argument [all...] |
/kernel/linux/linux-5.10/net/ethtool/ |
H A D | common.c | 345 u32 *indir; in ethtool_get_max_rxfh_channel() local 355 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_max_rxfh_channel() 356 if (!indir) in ethtool_get_max_rxfh_channel() 359 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_max_rxfh_channel() 364 current_max = max(current_max, indir[dev_size]); in ethtool_get_max_rxfh_channel() 369 kfree(indir); in ethtool_get_max_rxfh_channel()
|
H A D | ioctl.c | 1021 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr, in ethtool_copy_validate_indir() argument 1027 if (copy_from_user(indir, useraddr, size * sizeof(indir[0]))) in ethtool_copy_validate_indir() 1032 if (indir[i] >= rx_rings->data) in ethtool_copy_validate_indir() 1052 u32 *indir; in ethtool_get_rxfh_indir() local 1078 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_rxfh_indir() 1079 if (!indir) in ethtool_get_rxfh_indir() 1082 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_rxfh_indir() 1088 indir, dev_siz in ethtool_get_rxfh_indir() 1101 u32 *indir; ethtool_set_rxfh_indir() local 1168 u32 *indir = NULL; ethtool_get_rxfh() local 1245 u32 *indir = NULL, indir_bytes = 0; ethtool_set_rxfh() local [all...] |
/kernel/linux/linux-6.6/net/ethtool/ |
H A D | common.c | 593 u32 *indir; in ethtool_get_max_rxfh_channel() local 603 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_max_rxfh_channel() 604 if (!indir) in ethtool_get_max_rxfh_channel() 607 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_max_rxfh_channel() 612 current_max = max(current_max, indir[dev_size]); in ethtool_get_max_rxfh_channel() 617 kfree(indir); in ethtool_get_max_rxfh_channel()
|
H A D | ioctl.c | 1031 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr, in ethtool_copy_validate_indir() argument 1037 if (copy_from_user(indir, useraddr, array_size(size, sizeof(indir[0])))) in ethtool_copy_validate_indir() 1042 if (indir[i] >= rx_rings->data) in ethtool_copy_validate_indir() 1062 u32 *indir; in ethtool_get_rxfh_indir() local 1088 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_rxfh_indir() 1089 if (!indir) in ethtool_get_rxfh_indir() 1092 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_rxfh_indir() 1098 indir, dev_siz in ethtool_get_rxfh_indir() 1111 u32 *indir; ethtool_set_rxfh_indir() local 1178 u32 *indir = NULL; ethtool_get_rxfh() local 1255 u32 *indir = NULL, indir_bytes = 0; ethtool_set_rxfh() local [all...] |