Lines Matching refs:sg
411 sg_init_table(sgl->sg, npages + 1); in af_alg_make_sg()
416 sg_set_page(sgl->sg + i, sgl->pages[i], plen, off); in af_alg_make_sg()
421 sg_mark_end(sgl->sg + npages - 1); in af_alg_make_sg()
430 sg_unmark_end(sgl_prev->sg + sgl_prev->npages - 1); in af_alg_link_sg()
431 sg_chain(sgl_prev->sg, sgl_prev->npages + 1, sgl_new->sg); in af_alg_link_sg()
496 struct scatterlist *sg = NULL; in af_alg_alloc_tsgl() local
500 sg = sgl->sg; in af_alg_alloc_tsgl()
502 if (!sg || sgl->cur >= MAX_SGL_ENTS) { in af_alg_alloc_tsgl()
504 struct_size(sgl, sg, (MAX_SGL_ENTS + 1)), in af_alg_alloc_tsgl()
509 sg_init_table(sgl->sg, MAX_SGL_ENTS + 1); in af_alg_alloc_tsgl()
512 if (sg) in af_alg_alloc_tsgl()
513 sg_chain(sg, MAX_SGL_ENTS + 1, sgl->sg); in af_alg_alloc_tsgl()
545 struct scatterlist *sg = sgl->sg; in af_alg_count_tsgl() local
551 if (offset >= sg[i].length) { in af_alg_count_tsgl()
552 offset -= sg[i].length; in af_alg_count_tsgl()
553 bytes -= sg[i].length; in af_alg_count_tsgl()
557 bytes_count = sg[i].length - offset; in af_alg_count_tsgl()
595 struct scatterlist *sg; in af_alg_pull_tsgl() local
601 sg = sgl->sg; in af_alg_pull_tsgl()
604 size_t plen = min_t(size_t, used, sg[i].length); in af_alg_pull_tsgl()
605 struct page *page = sg_page(sg + i); in af_alg_pull_tsgl()
623 sg[i].offset + dst_offset); in af_alg_pull_tsgl()
629 sg[i].length -= plen; in af_alg_pull_tsgl()
630 sg[i].offset += plen; in af_alg_pull_tsgl()
635 if (sg[i].length) in af_alg_pull_tsgl()
639 sg_assign_page(sg + i, NULL); in af_alg_pull_tsgl()
643 sock_kfree_s(sk, sgl, sizeof(*sgl) + sizeof(sgl->sg[0]) * in af_alg_pull_tsgl()
664 struct scatterlist *sg; in af_alg_free_areq_sgls() local
677 for_each_sg(tsgl, sg, areq->tsgl_entries, i) { in af_alg_free_areq_sgls()
678 if (!sg_page(sg)) in af_alg_free_areq_sgls()
680 put_page(sg_page(sg)); in af_alg_free_areq_sgls()
875 struct scatterlist *sg; in af_alg_sendmsg() local
883 sg = sgl->sg + sgl->cur - 1; in af_alg_sendmsg()
885 PAGE_SIZE - sg->offset - sg->length); in af_alg_sendmsg()
887 err = memcpy_from_msg(page_address(sg_page(sg)) + in af_alg_sendmsg()
888 sg->offset + sg->length, in af_alg_sendmsg()
893 sg->length += len; in af_alg_sendmsg()
894 ctx->merge = (sg->offset + sg->length) & in af_alg_sendmsg()
918 sg = sgl->sg; in af_alg_sendmsg()
920 sg_unmark_end(sg + sgl->cur - 1); in af_alg_sendmsg()
927 sg_assign_page(sg + i, alloc_page(GFP_KERNEL)); in af_alg_sendmsg()
928 if (!sg_page(sg + i)) { in af_alg_sendmsg()
933 err = memcpy_from_msg(page_address(sg_page(sg + i)), in af_alg_sendmsg()
936 __free_page(sg_page(sg + i)); in af_alg_sendmsg()
937 sg_assign_page(sg + i, NULL); in af_alg_sendmsg()
941 sg[i].length = plen; in af_alg_sendmsg()
950 sg_mark_end(sg + sgl->cur - 1); in af_alg_sendmsg()
1005 sg_unmark_end(sgl->sg + sgl->cur - 1); in af_alg_sendpage()
1007 sg_mark_end(sgl->sg + sgl->cur); in af_alg_sendpage()
1010 sg_set_page(sgl->sg + sgl->cur, page, size, offset); in af_alg_sendpage()