Lines Matching refs:fifo
109 struct fifo { struct
152 struct fifo rxfifo;
180 struct fifo *fifo; in rxfifo_reset() local
185 fifo = &uart->rxfifo; in rxfifo_reset()
186 fifo->rindex = 0; in rxfifo_reset()
187 fifo->windex = 0; in rxfifo_reset()
188 fifo->num = 0; in rxfifo_reset()
189 fifo->size = size; in rxfifo_reset()
197 struct fifo *fifo; in rxfifo_available() local
199 fifo = &uart->rxfifo; in rxfifo_available()
200 return (fifo->num < fifo->size); in rxfifo_available()
206 struct fifo *fifo; in rxfifo_putchar() local
208 fifo = &uart->rxfifo; in rxfifo_putchar()
210 if (fifo->num < fifo->size) { in rxfifo_putchar()
211 fifo->buf[fifo->windex] = ch; in rxfifo_putchar()
212 fifo->windex = (fifo->windex + 1) % fifo->size; in rxfifo_putchar()
213 fifo->num++; in rxfifo_putchar()
224 struct fifo *fifo; in rxfifo_getchar() local
228 fifo = &uart->rxfifo; in rxfifo_getchar()
229 if (fifo->num > 0) { in rxfifo_getchar()
232 c = fifo->buf[fifo->rindex]; in rxfifo_getchar()
233 fifo->rindex = (fifo->rindex + 1) % fifo->size; in rxfifo_getchar()
234 fifo->num--; in rxfifo_getchar()
245 struct fifo *fifo = &uart->rxfifo; in rxfifo_numchars() local
247 return fifo->num; in rxfifo_numchars()