Lines Matching refs:pong
81 struct at91_usart_rx *pong;
507 atsc->pong = &atsc->ping_pong[1];
516 * Setup the PDC to receive data. We use the ping-pong buffers
524 WR4(&sc->sc_bas, PDC_RNPR, atsc->pong->pa);
690 * about pong, to minimze data loss. Insert an overrun
691 * marker after the contents of the pong buffer.
703 bus_dmamap_sync(atsc->rx_tag, atsc->pong->map,
706 at91_rx_put(sc, atsc->pong->buffer[i]);
708 bus_dmamap_sync(atsc->rx_tag, atsc->pong->map,
710 WR4(&sc->sc_bas, PDC_RNPR, atsc->pong->pa);
715 * Consume data from ping of ping pong buffer, but leave
716 * current pong in place, as it has become the new ping.
718 * new pong when we're done.
725 atsc->ping = atsc->pong;
726 atsc->pong = p;
727 bus_dmamap_sync(atsc->rx_tag, atsc->pong->map,
729 WR4(&sc->sc_bas, PDC_RNPR, atsc->pong->pa);
738 * 2. Ping buffer contains some data and pong is empty.
740 * 3. Ping buffer is full and pong is now being filled.
752 * pong buffer as the active one. Note that in case 3
753 * the hardware has already done the ping-pong swap.
760 WR4(&sc->sc_bas, PDC_RPR, atsc->pong->pa);
773 atsc->ping = atsc->pong;
774 atsc->pong = p;
775 WR4(&sc->sc_bas, PDC_RNPR, atsc->pong->pa);