• Home
  • Raw
  • Download

Lines Matching refs:sg

25 struct scatterlist *sg_next(struct scatterlist *sg)  in sg_next()  argument
28 BUG_ON(sg->sg_magic != SG_MAGIC); in sg_next()
30 if (sg_is_last(sg)) in sg_next()
33 sg++; in sg_next()
34 if (unlikely(sg_is_chain(sg))) in sg_next()
35 sg = sg_chain_ptr(sg); in sg_next()
37 return sg; in sg_next()
50 int sg_nents(struct scatterlist *sg) in sg_nents() argument
53 for (nents = 0; sg; sg = sg_next(sg)) in sg_nents()
79 struct scatterlist *sg, *ret = NULL; in sg_last()
82 for_each_sg(sgl, sg, nents, i) in sg_last()
83 ret = sg; in sg_last()
125 void sg_init_one(struct scatterlist *sg, const void *buf, unsigned int buflen) in sg_init_one() argument
127 sg_init_table(sg, 1); in sg_init_one()
128 sg_set_buf(sg, buf, buflen); in sg_init_one()
155 static void sg_kfree(struct scatterlist *sg, unsigned int nents) in sg_kfree() argument
158 kmemleak_free(sg); in sg_kfree()
159 free_page((unsigned long) sg); in sg_kfree()
161 kfree(sg); in sg_kfree()
251 struct scatterlist *sg, *prv; in __sg_alloc_table() local
277 sg = first_chunk; in __sg_alloc_table()
280 sg = alloc_fn(alloc_size, gfp_mask); in __sg_alloc_table()
282 if (unlikely(!sg)) { in __sg_alloc_table()
295 sg_init_table(sg, alloc_size); in __sg_alloc_table()
303 sg_chain(prv, max_ents, sg); in __sg_alloc_table()
305 table->sgl = sg; in __sg_alloc_table()
311 sg_mark_end(&sg[sg_size - 1]); in __sg_alloc_table()
313 prv = sg; in __sg_alloc_table()
415 piter->sg = sglist; in __sg_page_iter_start()
420 static int sg_page_count(struct scatterlist *sg) in sg_page_count() argument
422 return PAGE_ALIGN(sg->offset + sg->length) >> PAGE_SHIFT; in sg_page_count()
427 if (!piter->__nents || !piter->sg) in __sg_page_iter_next()
433 while (piter->sg_pgoffset >= sg_page_count(piter->sg)) { in __sg_page_iter_next()
434 piter->sg_pgoffset -= sg_page_count(piter->sg); in __sg_page_iter_next()
435 piter->sg = sg_next(piter->sg); in __sg_page_iter_next()
436 if (!--piter->__nents || !piter->sg) in __sg_page_iter_next()
470 struct scatterlist *sg; in sg_miter_get_next_page() local
476 sg = miter->piter.sg; in sg_miter_get_next_page()
479 miter->__offset = pgoffset ? 0 : sg->offset; in sg_miter_get_next_page()
480 miter->__remaining = sg->offset + sg->length - in sg_miter_get_next_page()