Exemple #1
0
void
vdsp_read(void *arg1, void *arg2)
{
	struct vdsp_softc *sc = arg1;

	while (sc->sc_desc_tail != sc->sc_desc_head) {
		vdsp_read_desc(sc, sc->sc_desc_msg[sc->sc_desc_tail++]);
		sc->sc_desc_tail &= (VDSK_RX_ENTRIES - 1);
	}
}
Exemple #2
0
void
vdsp_read(void *arg1)
{
	struct vdsp_softc *sc = arg1;

	mtx_enter(&sc->sc_desc_mtx);
	while (sc->sc_desc_tail != sc->sc_desc_head) {
		mtx_leave(&sc->sc_desc_mtx);
		vdsp_read_desc(sc, sc->sc_desc_msg[sc->sc_desc_tail]);
		mtx_enter(&sc->sc_desc_mtx);
		sc->sc_desc_tail++;
		sc->sc_desc_tail &= (VDSK_RX_ENTRIES - 1);
	}
	mtx_leave(&sc->sc_desc_mtx);
}