Lines Matching refs:sg
33 void scatterwalk_start(struct scatter_walk *walk, struct scatterlist *sg) in scatterwalk_start() argument
35 walk->sg = sg; in scatterwalk_start()
37 BUG_ON(!sg->length); in scatterwalk_start()
39 walk->offset = sg->offset; in scatterwalk_start()
56 page = sg_page(walk->sg) + ((walk->offset - 1) >> PAGE_SHIFT); in scatterwalk_pagedone()
68 if (walk->offset >= walk->sg->offset + walk->sg->length) in scatterwalk_pagedone()
69 scatterwalk_start(walk, sg_next(walk->sg)); in scatterwalk_pagedone()
107 void scatterwalk_map_and_copy(void *buf, struct scatterlist *sg, in scatterwalk_map_and_copy() argument
116 sg = scatterwalk_ffwd(tmp, sg, start); in scatterwalk_map_and_copy()
118 if (sg_page(sg) == virt_to_page(buf) && in scatterwalk_map_and_copy()
119 sg->offset == offset_in_page(buf)) in scatterwalk_map_and_copy()
122 scatterwalk_start(&walk, sg); in scatterwalk_map_and_copy()
128 int scatterwalk_bytes_sglen(struct scatterlist *sg, int num_bytes) in scatterwalk_bytes_sglen() argument
133 if (num_bytes < sg->length) in scatterwalk_bytes_sglen()
137 offset += sg->length; in scatterwalk_bytes_sglen()
139 sg = sg_next(sg); in scatterwalk_bytes_sglen()
142 if (unlikely(!sg && (num_bytes < offset))) in scatterwalk_bytes_sglen()
144 } while (sg && (num_bytes > offset)); in scatterwalk_bytes_sglen()