Lines Matching refs:sg

405 	sg_init_table(sgl->sg, npages + 1);  in af_alg_make_sg()
410 sg_set_page(sgl->sg + i, sgl->pages[i], plen, off); in af_alg_make_sg()
415 sg_mark_end(sgl->sg + npages - 1); in af_alg_make_sg()
425 sg_unmark_end(sgl_prev->sg + sgl_prev->npages - 1); in af_alg_link_sg()
426 sg_chain(sgl_prev->sg, sgl_prev->npages + 1, sgl_new->sg); in af_alg_link_sg()
489 struct scatterlist *sg = NULL; in af_alg_alloc_tsgl() local
493 sg = sgl->sg; in af_alg_alloc_tsgl()
495 if (!sg || sgl->cur >= MAX_SGL_ENTS) { in af_alg_alloc_tsgl()
497 struct_size(sgl, sg, (MAX_SGL_ENTS + 1)), in af_alg_alloc_tsgl()
502 sg_init_table(sgl->sg, MAX_SGL_ENTS + 1); in af_alg_alloc_tsgl()
505 if (sg) in af_alg_alloc_tsgl()
506 sg_chain(sg, MAX_SGL_ENTS + 1, sgl->sg); in af_alg_alloc_tsgl()
537 const struct scatterlist *sg = sgl->sg; in af_alg_count_tsgl() local
543 if (offset >= sg[i].length) { in af_alg_count_tsgl()
544 offset -= sg[i].length; in af_alg_count_tsgl()
545 bytes -= sg[i].length; in af_alg_count_tsgl()
549 bytes_count = sg[i].length - offset; in af_alg_count_tsgl()
587 struct scatterlist *sg; in af_alg_pull_tsgl() local
593 sg = sgl->sg; in af_alg_pull_tsgl()
596 size_t plen = min_t(size_t, used, sg[i].length); in af_alg_pull_tsgl()
597 struct page *page = sg_page(sg + i); in af_alg_pull_tsgl()
615 sg[i].offset + dst_offset); in af_alg_pull_tsgl()
621 sg[i].length -= plen; in af_alg_pull_tsgl()
622 sg[i].offset += plen; in af_alg_pull_tsgl()
627 if (sg[i].length) in af_alg_pull_tsgl()
631 sg_assign_page(sg + i, NULL); in af_alg_pull_tsgl()
635 sock_kfree_s(sk, sgl, struct_size(sgl, sg, MAX_SGL_ENTS + 1)); in af_alg_pull_tsgl()
655 struct scatterlist *sg; in af_alg_free_areq_sgls() local
668 for_each_sg(tsgl, sg, areq->tsgl_entries, i) { in af_alg_free_areq_sgls()
669 if (!sg_page(sg)) in af_alg_free_areq_sgls()
671 put_page(sg_page(sg)); in af_alg_free_areq_sgls()
862 struct scatterlist *sg; in af_alg_sendmsg() local
870 sg = sgl->sg + sgl->cur - 1; in af_alg_sendmsg()
872 PAGE_SIZE - sg->offset - sg->length); in af_alg_sendmsg()
874 err = memcpy_from_msg(page_address(sg_page(sg)) + in af_alg_sendmsg()
875 sg->offset + sg->length, in af_alg_sendmsg()
880 sg->length += len; in af_alg_sendmsg()
881 ctx->merge = (sg->offset + sg->length) & in af_alg_sendmsg()
905 sg = sgl->sg; in af_alg_sendmsg()
907 sg_unmark_end(sg + sgl->cur - 1); in af_alg_sendmsg()
914 sg_assign_page(sg + i, alloc_page(GFP_KERNEL)); in af_alg_sendmsg()
915 if (!sg_page(sg + i)) { in af_alg_sendmsg()
920 err = memcpy_from_msg(page_address(sg_page(sg + i)), in af_alg_sendmsg()
923 __free_page(sg_page(sg + i)); in af_alg_sendmsg()
924 sg_assign_page(sg + i, NULL); in af_alg_sendmsg()
928 sg[i].length = plen; in af_alg_sendmsg()
937 sg_mark_end(sg + sgl->cur - 1); in af_alg_sendmsg()
992 sg_unmark_end(sgl->sg + sgl->cur - 1); in af_alg_sendpage()
994 sg_mark_end(sgl->sg + sgl->cur); in af_alg_sendpage()
997 sg_set_page(sgl->sg + sgl->cur, page, size, offset); in af_alg_sendpage()