Lines Matching refs:fifo
57 static inline void reset_fifo(struct vuart_fifo *fifo) in reset_fifo() argument
59 fifo->rindex = 0U; in reset_fifo()
60 fifo->windex = 0U; in reset_fifo()
61 fifo->num = 0U; in reset_fifo()
64 static inline void fifo_putchar(struct vuart_fifo *fifo, char ch) in fifo_putchar() argument
66 fifo->buf[fifo->windex] = ch; in fifo_putchar()
67 if (fifo->num < fifo->size) { in fifo_putchar()
68 fifo->windex = (fifo->windex + 1U) % fifo->size; in fifo_putchar()
69 fifo->num++; in fifo_putchar()
71 fifo->rindex = (fifo->rindex + 1U) % fifo->size; in fifo_putchar()
72 fifo->windex = (fifo->windex + 1U) % fifo->size; in fifo_putchar()
76 static inline char fifo_getchar(struct vuart_fifo *fifo) in fifo_getchar() argument
80 if (fifo->num > 0U) { in fifo_getchar()
81 c = fifo->buf[fifo->rindex]; in fifo_getchar()
82 fifo->rindex = (fifo->rindex + 1U) % fifo->size; in fifo_getchar()
83 fifo->num--; in fifo_getchar()
88 static inline uint32_t fifo_numchars(const struct vuart_fifo *fifo) in fifo_numchars() argument
90 return fifo->num; in fifo_numchars()
93 static inline bool fifo_isfull(const struct vuart_fifo *fifo) in fifo_isfull() argument
105 if ((fifo->size - fifo->num) < 64U) { in fifo_isfull()