nm_wr(sc, NM_RBUFFER_START, sc->rbuf, 4); nm_wr(sc, NM_RBUFFER_END, sc->rbuf + ((char *)end - (char *)start), 4); nm_wr(sc, NM_RBUFFER_CURRP, sc->rbuf, 4); nm_wr(sc, NM_RBUFFER_WMARK, sc->rbuf + NM_BUFFSIZE / 2, 4);
neo_trigger_input(addr, start, end, blksize, intr, arg, param)	void *addr;	void *start, *end;	int blksize;	void (*intr) __P((void *));	void *arg;	struct audio_params *param;{	struct neo_softc *sc = addr;		int ssz;	sc->rintr = intr;	sc->rarg = arg;	ssz = (param->precision * param->factor == 16)? 2 : 1;	if (param->channels == 2)		ssz <<= 1;	nm_wr(sc, NM_RECORD_ENABLE_REG, NM_RECORD_FREERUN |	    NM_RECORD_ENABLE_FLAG, 1);	nm_wr(sc, NM_RBUFFER_START, sc->rbuf, 4);	nm_wr(sc, NM_RBUFFER_END, 	      sc->rbuf + ((char *)end - (char *)start), 4);	nm_wr(sc, NM_RBUFFER_CURRP, sc->rbuf, 4);	nm_wr(sc, NM_RBUFFER_WMARK, sc->rbuf + NM_BUFFSIZE / 2, 4);	return (0);}