Chapter 6. FIFO Buffer

Table of Contents

kfifo interface

kfifo interface

DECLARE_KFIFO_PTR — macro to declare a fifo pointer object
DECLARE_KFIFO — macro to declare a fifo object
INIT_KFIFO — Initialize a fifo declared by DECLARE_KFIFO
DEFINE_KFIFO — macro to define and initialize a fifo
kfifo_initialized — Check if the fifo is initialized
kfifo_esize — returns the size of the element managed by the fifo
kfifo_recsize — returns the size of the record length field
kfifo_size — returns the size of the fifo in elements
kfifo_reset — removes the entire fifo content
kfifo_reset_out — skip fifo content
kfifo_len — returns the number of used elements in the fifo
kfifo_is_empty — returns true if the fifo is empty
kfifo_is_full — returns true if the fifo is full
kfifo_avail — returns the number of unused elements in the fifo
kfifo_skip — skip output data
kfifo_peek_len — gets the size of the next fifo record
kfifo_alloc — dynamically allocates a new fifo buffer
kfifo_free — frees the fifo
kfifo_init — initialize a fifo using a preallocated buffer
kfifo_put — put data into the fifo
kfifo_get — get data from the fifo
kfifo_peek — get data from the fifo without removing
kfifo_in — put data into the fifo
kfifo_in_spinlocked — put data into the fifo using a spinlock for locking
kfifo_out — get data from the fifo
kfifo_out_spinlocked — get data from the fifo using a spinlock for locking
kfifo_from_user — puts some data from user space into the fifo
kfifo_to_user — copies data from the fifo into user space
kfifo_dma_in_prepare — setup a scatterlist for DMA input
kfifo_dma_in_finish — finish a DMA IN operation
kfifo_dma_out_prepare — setup a scatterlist for DMA output
kfifo_dma_out_finish — finish a DMA OUT operation
kfifo_out_peek — gets some data from the fifo