Lines Matching full:fifo
64 struct fifo { struct
68 int num; /* number of characters in the fifo */ argument
69 int size; /* size of the fifo */ argument
74 struct fifo rxfifo;
141 struct fifo *fifo; in uart_rxfifo_getchar() local
145 fifo = &sc->rxfifo; in uart_rxfifo_getchar()
146 if (fifo->num > 0) { in uart_rxfifo_getchar()
149 c = fifo->buf[fifo->rindex]; in uart_rxfifo_getchar()
150 fifo->rindex = (fifo->rindex + 1) % fifo->size; in uart_rxfifo_getchar()
151 fifo->num--; in uart_rxfifo_getchar()
172 struct fifo *fifo; in rxfifo_putchar() local
175 fifo = &sc->rxfifo; in rxfifo_putchar()
177 if (fifo->num < fifo->size) { in rxfifo_putchar()
178 fifo->buf[fifo->windex] = ch; in rxfifo_putchar()
179 fifo->windex = (fifo->windex + 1) % fifo->size; in rxfifo_putchar()
180 fifo->num++; in rxfifo_putchar()
184 * Disable mevent callback if the FIFO is full. in rxfifo_putchar()
239 struct fifo *fifo; in uart_rxfifo_reset() local
243 fifo = &sc->rxfifo; in uart_rxfifo_reset()
244 bzero(fifo, sizeof(struct fifo)); in uart_rxfifo_reset()
245 fifo->size = size; in uart_rxfifo_reset()