Lines Matching refs:sg
28 struct scatterlist *sg;
74 struct scatterlist *sg, int num)
76 if (sg)
77 sg_chain(head, num, sg);
83 struct scatterlist *sg)
85 walk->sg = sg;
86 walk->offset = sg->offset;
90 * This is equivalent to scatterwalk_start(walk, sg) followed by
94 struct scatterlist *sg,
97 while (pos > sg->length) {
98 pos -= sg->length;
99 sg = sg_next(sg);
101 walk->sg = sg;
102 walk->offset = sg->offset + pos;
111 if (walk->offset >= walk->sg->offset + walk->sg->length)
112 scatterwalk_start(walk, sg_next(walk->sg));
113 len_this_sg = walk->sg->offset + walk->sg->length - walk->offset;
117 * the complexity of having to map multiple pages at once per sg entry,
120 * !HIGHMEM case: no mapping is needed; all pages of the sg entry are
145 if (walk->offset >= walk->sg->offset + walk->sg->length)
146 scatterwalk_start(walk, sg_next(walk->sg));
147 sg_set_page(sg_out, sg_page(walk->sg),
148 walk->sg->offset + walk->sg->length - walk->offset,
150 scatterwalk_crypto_chain(sg_out, sg_next(walk->sg), 2);
155 struct page *base_page = sg_page(walk->sg);
170 * the whole sg entry in the kernel's direct map rather than
173 * page of the sg entry. Either way the result is the address
255 base_page = sg_page(walk->sg);
275 void memcpy_from_sglist(void *buf, struct scatterlist *sg,
278 void memcpy_to_sglist(struct scatterlist *sg, unsigned int start,
285 static inline void scatterwalk_map_and_copy(void *buf, struct scatterlist *sg,
290 memcpy_to_sglist(sg, start, buf, nbytes);
292 memcpy_from_sglist(buf, sg, start, nbytes);