H A D | kfifo.c | 395 unsigned int __kfifo_max_r(unsigned int len, size_t recsize) __kfifo_max_r() argument 397 unsigned int max = (1 << (recsize << 3)) - 1; __kfifo_max_r() 411 static unsigned int __kfifo_peek_n(struct __kfifo *fifo, size_t recsize) __kfifo_peek_n() argument 419 if (--recsize) __kfifo_peek_n() 434 static void __kfifo_poke_n(struct __kfifo *fifo, unsigned int n, size_t recsize) __kfifo_poke_n() argument 441 if (recsize > 1) __kfifo_poke_n() 445 unsigned int __kfifo_len_r(struct __kfifo *fifo, size_t recsize) __kfifo_len_r() argument 447 return __kfifo_peek_n(fifo, recsize); __kfifo_len_r() 452 unsigned int len, size_t recsize) __kfifo_in_r() 454 if (len + recsize > kfifo_unused(fifo)) __kfifo_in_r() 457 __kfifo_poke_n(fifo, len, recsize); __kfifo_in_r() 459 kfifo_copy_in(fifo, buf, len, fifo->in + recsize); __kfifo_in_r() 460 fifo->in += len + recsize; __kfifo_in_r() 466 void *buf, unsigned int len, size_t recsize, unsigned int *n) kfifo_out_copy_r() 468 *n = __kfifo_peek_n(fifo, recsize); kfifo_out_copy_r() 473 kfifo_copy_out(fifo, buf, len, fifo->out + recsize); kfifo_out_copy_r() 478 unsigned int len, size_t recsize) __kfifo_out_peek_r() 485 return kfifo_out_copy_r(fifo, buf, len, recsize, &n); __kfifo_out_peek_r() 490 unsigned int len, size_t recsize) __kfifo_out_r() 497 len = kfifo_out_copy_r(fifo, buf, len, recsize, &n); __kfifo_out_r() 498 fifo->out += n + recsize; __kfifo_out_r() 503 void __kfifo_skip_r(struct __kfifo *fifo, size_t recsize) __kfifo_skip_r() argument 507 n = __kfifo_peek_n(fifo, recsize); __kfifo_skip_r() 508 fifo->out += n + recsize; __kfifo_skip_r() 513 unsigned long len, unsigned int *copied, size_t recsize) __kfifo_from_user_r() 517 len = __kfifo_max_r(len, recsize); __kfifo_from_user_r() 519 if (len + recsize > kfifo_unused(fifo)) { __kfifo_from_user_r() 524 __kfifo_poke_n(fifo, len, recsize); __kfifo_from_user_r() 526 ret = kfifo_copy_from_user(fifo, from, len, fifo->in + recsize, copied); __kfifo_from_user_r() 531 fifo->in += len + recsize; __kfifo_from_user_r() 537 unsigned long len, unsigned int *copied, size_t recsize) __kfifo_to_user_r() 547 n = __kfifo_peek_n(fifo, recsize); __kfifo_to_user_r() 551 ret = kfifo_copy_to_user(fifo, to, len, fifo->out + recsize, copied); __kfifo_to_user_r() 556 fifo->out += n + recsize; __kfifo_to_user_r() 562 struct scatterlist *sgl, int nents, unsigned int len, size_t recsize) __kfifo_dma_in_prepare_r() 566 len = __kfifo_max_r(len, recsize); __kfifo_dma_in_prepare_r() 568 if (len + recsize > kfifo_unused(fifo)) __kfifo_dma_in_prepare_r() 571 return setup_sgl(fifo, sgl, nents, len, fifo->in + recsize); __kfifo_dma_in_prepare_r() 576 unsigned int len, size_t recsize) __kfifo_dma_in_finish_r() 578 len = __kfifo_max_r(len, recsize); __kfifo_dma_in_finish_r() 579 __kfifo_poke_n(fifo, len, recsize); __kfifo_dma_in_finish_r() 580 fifo->in += len + recsize; __kfifo_dma_in_finish_r() 585 struct scatterlist *sgl, int nents, unsigned int len, size_t recsize) __kfifo_dma_out_prepare_r() 589 len = __kfifo_max_r(len, recsize); __kfifo_dma_out_prepare_r() 591 if (len + recsize > fifo->in - fifo->out) __kfifo_dma_out_prepare_r() 594 return setup_sgl(fifo, sgl, nents, len, fifo->out + recsize); __kfifo_dma_out_prepare_r() 598 void __kfifo_dma_out_finish_r(struct __kfifo *fifo, size_t recsize) __kfifo_dma_out_finish_r() argument 602 len = __kfifo_peek_n(fifo, recsize); __kfifo_dma_out_finish_r() 603 fifo->out += len + recsize; __kfifo_dma_out_finish_r() 451 __kfifo_in_r(struct __kfifo *fifo, const void *buf, unsigned int len, size_t recsize) __kfifo_in_r() argument 465 kfifo_out_copy_r(struct __kfifo *fifo, void *buf, unsigned int len, size_t recsize, unsigned int *n) kfifo_out_copy_r() argument 477 __kfifo_out_peek_r(struct __kfifo *fifo, void *buf, unsigned int len, size_t recsize) __kfifo_out_peek_r() argument 489 __kfifo_out_r(struct __kfifo *fifo, void *buf, unsigned int len, size_t recsize) __kfifo_out_r() argument 512 __kfifo_from_user_r(struct __kfifo *fifo, const void __user *from, unsigned long len, unsigned int *copied, size_t recsize) __kfifo_from_user_r() argument 536 __kfifo_to_user_r(struct __kfifo *fifo, void __user *to, unsigned long len, unsigned int *copied, size_t recsize) __kfifo_to_user_r() argument 561 __kfifo_dma_in_prepare_r(struct __kfifo *fifo, struct scatterlist *sgl, int nents, unsigned int len, size_t recsize) __kfifo_dma_in_prepare_r() argument 575 __kfifo_dma_in_finish_r(struct __kfifo *fifo, unsigned int len, size_t recsize) __kfifo_dma_in_finish_r() argument 584 __kfifo_dma_out_prepare_r(struct __kfifo *fifo, struct scatterlist *sgl, int nents, unsigned int len, size_t recsize) __kfifo_dma_out_prepare_r() argument
|