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()
64 if (walk->offset >= walk->sg->offset + walk->sg->length) in scatterwalk_pagedone()
65 scatterwalk_start(walk, sg_next(walk->sg)); in scatterwalk_pagedone()
103 void scatterwalk_map_and_copy(void *buf, struct scatterlist *sg, in scatterwalk_map_and_copy() argument
113 scatterwalk_start(&walk, sg); in scatterwalk_map_and_copy()
115 if (start < offset + sg->length) in scatterwalk_map_and_copy()
118 offset += sg->length; in scatterwalk_map_and_copy()
119 sg = sg_next(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()