Lines Matching refs:indir

72 	struct mlx5e_rss_params_indir indir;
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,
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)
104 kvfree(indir->table);
111 if (to->indir.actual_table_size != from->indir.actual_table_size ||
112 to->indir.max_table_size != from->indir.max_table_size) {
115 from->indir.actual_table_size, from->indir.max_table_size,
116 to->indir.actual_table_size, to->indir.max_table_size);
120 dst_indir_table = to->indir.table;
122 to->indir.table = dst_indir_table;
123 memcpy(to->indir.table, from->indir.table,
124 from->indir.actual_table_size * sizeof(*from->indir.table));
137 err = mlx5e_rss_params_indir_init(&rss->indir, from->mdev, from->indir.actual_table_size,
138 from->indir.max_table_size);
149 mlx5e_rss_params_indir_cleanup(&rss->indir);
352 rss->drop_rqn, rss->indir.max_table_size);
367 err = mlx5e_rss_params_indir_init(&rss->indir, mdev,
402 mlx5e_rss_params_indir_cleanup(&rss->indir);
419 mlx5e_rss_params_indir_cleanup(&rss->indir);
481 &rss->indir);
554 int mlx5e_rss_get_rxfh(struct mlx5e_rss *rss, u32 *indir, u8 *key, u8 *hfunc)
556 if (indir)
557 memcpy(indir, rss->indir.table,
558 rss->indir.actual_table_size * sizeof(*rss->indir.table));
570 int mlx5e_rss_set_rxfh(struct mlx5e_rss *rss, const u32 *indir,
604 if (indir) {
607 memcpy(rss->indir.table, indir,
608 rss->indir.actual_table_size * sizeof(*rss->indir.table));
623 mlx5e_rss_params_indir_cleanup(&old_rss->indir);
684 mlx5e_rss_params_indir_init_uniform(&rss->indir, nch);