Lines Matching refs:desc

45 xdr_skb_read_bits(struct xdr_skb_reader *desc, void *to, size_t len)  in xdr_skb_read_bits()  argument
47 len = min(len, desc->count); in xdr_skb_read_bits()
49 if (desc->need_checksum) { in xdr_skb_read_bits()
52 csum = skb_copy_and_csum_bits(desc->skb, desc->offset, to, len); in xdr_skb_read_bits()
53 desc->csum = csum_block_add(desc->csum, csum, desc->offset); in xdr_skb_read_bits()
55 if (unlikely(skb_copy_bits(desc->skb, desc->offset, to, len))) in xdr_skb_read_bits()
59 desc->count -= len; in xdr_skb_read_bits()
60 desc->offset += len; in xdr_skb_read_bits()
65 xdr_partial_copy_from_skb(struct xdr_buf *xdr, struct xdr_skb_reader *desc) in xdr_partial_copy_from_skb() argument
76 ret = xdr_skb_read_bits(desc, xdr->head[0].iov_base, in xdr_partial_copy_from_skb()
78 if (ret != xdr->head[0].iov_len || !desc->count) in xdr_partial_copy_from_skb()
98 ret = xdr_skb_read_bits(desc, kaddr + poff, len); in xdr_partial_copy_from_skb()
103 if (ret != len || !desc->count) in xdr_partial_copy_from_skb()
111 copied += xdr_skb_read_bits(desc, xdr->tail[0].iov_base, in xdr_partial_copy_from_skb()
128 struct xdr_skb_reader desc = { in csum_partial_copy_to_xdr() local
130 .count = skb->len - desc.offset, in csum_partial_copy_to_xdr()
134 if (xdr_partial_copy_from_skb(xdr, &desc) < 0) in csum_partial_copy_to_xdr()
136 if (desc.count) in csum_partial_copy_to_xdr()
141 desc.need_checksum = true; in csum_partial_copy_to_xdr()
142 desc.csum = csum_partial(skb->data, desc.offset, skb->csum); in csum_partial_copy_to_xdr()
143 if (xdr_partial_copy_from_skb(xdr, &desc) < 0) in csum_partial_copy_to_xdr()
145 if (desc.offset != skb->len) { in csum_partial_copy_to_xdr()
147 csum2 = skb_checksum(skb, desc.offset, skb->len - desc.offset, 0); in csum_partial_copy_to_xdr()
148 desc.csum = csum_block_add(desc.csum, csum2, desc.offset); in csum_partial_copy_to_xdr()
150 if (desc.count) in csum_partial_copy_to_xdr()
152 if (csum_fold(desc.csum)) in csum_partial_copy_to_xdr()