Lines Matching refs:fifo
65 16: SFCR: FIFO control register
67 32: transfer FIFO buffer
68 48: transfer FIFO buffer
138 /* Generic FIFO */
345 /* consume rx fifo for MS byte */
557 tx3904sio_fifo_nonempty(struct hw* me, struct tx3904sio_fifo* fifo)
559 /* HW_TRACE ((me, "fifo used: %d", fifo->used)); */
560 return(fifo->used > 0);
565 tx3904sio_fifo_pop(struct hw* me, struct tx3904sio_fifo* fifo)
568 ASSERT(fifo->used > 0);
569 ASSERT(fifo->buffer != NULL);
570 it = fifo->buffer[0];
571 memcpy(& fifo->buffer[0], & fifo->buffer[1], fifo->used - 1);
572 fifo->used --;
573 /* HW_TRACE ((me, "pop fifo -> %02x", it)); */
579 tx3904sio_fifo_push(struct hw* me, struct tx3904sio_fifo* fifo, char it)
581 /* HW_TRACE ((me, "push %02x -> fifo", it)); */
582 if (fifo->size == fifo->used) /* full */
584 int next_size = fifo->size * 2 + 16;
586 memcpy(next_buf, fifo->buffer, fifo->used);
588 fifo->buffer != NULL) free(fifo->buffer);
589 fifo->buffer = next_buf;
590 fifo->size = next_size;
593 fifo->buffer[fifo->used] = it;
594 fifo->used ++;
599 tx3904sio_fifo_reset(struct hw* me, struct tx3904sio_fifo* fifo)
601 /* HW_TRACE ((me, "reset fifo")); */
602 fifo->used = 0;
603 fifo->size = 0;
604 free(fifo->buffer);
605 fifo->buffer = 0;