Lines Matching defs:indir
34 void mlx5e_rss_params_indir_init_uniform(struct mlx5e_rss_params_indir *indir,
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->actual_table_size, sizeof(*rss_rqns), GFP_KERNEL);
150 rss_vhca_ids = kvmalloc_array(indir->actual_table_size, sizeof(*rss_vhca_ids),
158 err = mlx5e_calc_indir_rqns(rss_rqns, rqns, rss_vhca_ids, vhca_ids, num_rqns, hfunc, indir);
162 err = mlx5e_rqt_init(rqt, mdev, indir->max_table_size, rss_rqns, rss_vhca_ids,
163 indir->actual_table_size);
232 u8 hfunc, struct mlx5e_rss_params_indir *indir)
240 if (WARN_ON(rqt->size != indir->max_table_size))
243 rss_rqns = kvmalloc_array(indir->actual_table_size, sizeof(*rss_rqns), GFP_KERNEL);
248 rss_vhca_ids = kvmalloc_array(indir->actual_table_size, sizeof(*rss_vhca_ids),
256 err = mlx5e_calc_indir_rqns(rss_rqns, rqns, rss_vhca_ids, vhca_ids, num_rqns, hfunc, indir);
260 err = mlx5e_rqt_redirect(rqt, rss_rqns, rss_vhca_ids, indir->actual_table_size);