Lines Matching refs:splitters
24 struct sg_splitter *splitters, bool mapped) in sg_calculate_split() argument
29 struct sg_splitter *curr = splitters; in sg_calculate_split()
33 splitters[i].in_sg0 = NULL; in sg_calculate_split()
34 splitters[i].nents = 0; in sg_calculate_split()
76 return (size || !splitters[0].in_sg0) ? -EINVAL : 0; in sg_calculate_split()
79 static void sg_split_phys(struct sg_splitter *splitters, const int nb_splits) in sg_split_phys() argument
85 for (i = 0, split = splitters; i < nb_splits; i++, split++) { in sg_split_phys()
105 static void sg_split_mapped(struct sg_splitter *splitters, const int nb_splits) in sg_split_mapped() argument
111 for (i = 0, split = splitters; i < nb_splits; i++, split++) { in sg_split_mapped()
157 struct sg_splitter *splitters; in sg_split() local
159 splitters = kcalloc(nb_splits, sizeof(*splitters), gfp_mask); in sg_split()
160 if (!splitters) in sg_split()
164 splitters, false); in sg_split()
170 splitters[i].out_sg = kmalloc_array(splitters[i].nents, in sg_split()
173 if (!splitters[i].out_sg) in sg_split()
180 sg_split_phys(splitters, nb_splits); in sg_split()
182 split_sizes, splitters, true); in sg_split()
185 sg_split_mapped(splitters, nb_splits); in sg_split()
188 out[i] = splitters[i].out_sg; in sg_split()
190 out_mapped_nents[i] = splitters[i].nents; in sg_split()
193 kfree(splitters); in sg_split()
198 kfree(splitters[i].out_sg); in sg_split()
199 kfree(splitters); in sg_split()