Lines Matching refs:len

90 		unsigned int len, unsigned int off)
100 len *= esize;
102 l = min(len, size - off);
105 memcpy(fifo->data, src + l, len - l);
114 const void *buf, unsigned int len)
119 if (len > l)
120 len = l;
122 kfifo_copy_in(fifo, buf, len, fifo->in);
123 fifo->in += len;
124 return len;
129 unsigned int len, unsigned int off)
139 len *= esize;
141 l = min(len, size - off);
144 memcpy(dst + l, fifo->data, len - l);
153 void *buf, unsigned int len)
158 if (len > l)
159 len = l;
161 kfifo_copy_out(fifo, buf, len, fifo->out);
162 return len;
167 void *buf, unsigned int len)
169 len = __kfifo_out_peek(fifo, buf, len);
170 fifo->out += len;
171 return len;
176 const void __user *from, unsigned int len, unsigned int off,
188 len *= esize;
190 l = min(len, size - off);
194 ret = DIV_ROUND_UP(ret + len - l, esize);
196 ret = copy_from_user(fifo->data, from + l, len - l);
205 *copied = len - ret * esize;
211 unsigned long len, unsigned int *copied)
219 len /= esize;
222 if (len > l)
223 len = l;
225 ret = kfifo_copy_from_user(fifo, from, len, fifo->in, copied);
227 len -= ret;
231 fifo->in += len;
237 unsigned int len, unsigned int off, unsigned int *copied)
248 len *= esize;
250 l = min(len, size - off);
254 ret = DIV_ROUND_UP(ret + len - l, esize);
256 ret = copy_to_user(to + l, fifo->data, len - l);
265 *copied = len - ret * esize;
271 unsigned long len, unsigned int *copied)
279 len /= esize;
282 if (len > l)
283 len = l;
284 ret = kfifo_copy_to_user(fifo, to, len, fifo->out, copied);
286 len -= ret;
290 fifo->out += len;
296 int nents, unsigned int len)
306 if (!len)
314 while (len >= l + PAGE_SIZE - off) {
326 len -= l - off;
330 sg_set_page(sgl, page, len, off);
335 int nents, unsigned int len, unsigned int off)
346 len *= esize;
348 l = min(len, size - off);
351 n += setup_sgl_buf(sgl + n, fifo->data, nents - n, len - l);
357 struct scatterlist *sgl, int nents, unsigned int len)
362 if (len > l)
363 len = l;
365 return setup_sgl(fifo, sgl, nents, len, fifo->in);
370 struct scatterlist *sgl, int nents, unsigned int len)
375 if (len > l)
376 len = l;
378 return setup_sgl(fifo, sgl, nents, len, fifo->out);
382 unsigned int __kfifo_max_r(unsigned int len, size_t recsize)
386 if (len > max)
388 return len;
439 unsigned int len, size_t recsize)
441 if (len + recsize > kfifo_unused(fifo))
444 __kfifo_poke_n(fifo, len, recsize);
446 kfifo_copy_in(fifo, buf, len, fifo->in + recsize);
447 fifo->in += len + recsize;
448 return len;
453 void *buf, unsigned int len, size_t recsize, unsigned int *n)
457 if (len > *n)
458 len = *n;
460 kfifo_copy_out(fifo, buf, len, fifo->out + recsize);
461 return len;
465 unsigned int len, size_t recsize)
472 return kfifo_out_copy_r(fifo, buf, len, recsize, &n);
477 unsigned int len, size_t recsize)
484 len = kfifo_out_copy_r(fifo, buf, len, recsize, &n);
486 return len;
500 unsigned long len, unsigned int *copied, size_t recsize)
504 len = __kfifo_max_r(len, recsize);
506 if (len + recsize > kfifo_unused(fifo)) {
511 __kfifo_poke_n(fifo, len, recsize);
513 ret = kfifo_copy_from_user(fifo, from, len, fifo->in + recsize, copied);
518 fifo->in += len + recsize;
524 unsigned long len, unsigned int *copied, size_t recsize)
535 if (len > n)
536 len = n;
538 ret = kfifo_copy_to_user(fifo, to, len, fifo->out + recsize, copied);
549 struct scatterlist *sgl, int nents, unsigned int len, size_t recsize)
553 len = __kfifo_max_r(len, recsize);
555 if (len + recsize > kfifo_unused(fifo))
558 return setup_sgl(fifo, sgl, nents, len, fifo->in + recsize);
563 unsigned int len, size_t recsize)
565 len = __kfifo_max_r(len, recsize);
566 __kfifo_poke_n(fifo, len, recsize);
567 fifo->in += len + recsize;
572 struct scatterlist *sgl, int nents, unsigned int len, size_t recsize)
576 len = __kfifo_max_r(len, recsize);
578 if (len + recsize > fifo->in - fifo->out)
581 return setup_sgl(fifo, sgl, nents, len, fifo->out + recsize);
587 unsigned int len;
589 len = __kfifo_peek_n(fifo, recsize);
590 fifo->out += len + recsize;