add: TRACE(("RPSTAT_INTR at trigblk %lu, stream->trigblk %lu\n", curblk, stream->trigblk));
context: int32 auvia_int(void *arg){	auvia_dev	 *card = arg;	bool gotone = false;	uint32       curblk;	auvia_stream *stream;		if(auvia_reg_read_32(&card->config, AUVIA_SGD_SHADOW) 		& card->interrupt_mask) {			LIST_FOREACH(stream, &card->streams, next)			if(auvia_reg_read_8(&card->config, stream->base + AUVIA_RP_STAT) & AUVIA_RPSTAT_INTR) {				gotone = true;				//TRACE(("interrupt\n"));								curblk = auvia_stream_curaddr(stream);				//TRACE(("AUVIA_RPSTAT_INTR at trigblk %lu\n", curblk));				//TRACE(("AUVIA_RPSTAT_INTR at stream->trigblk %lu\n", stream->trigblk));				if (curblk == stream->trigblk) {					//TRACE(("AUVIA_RPSTAT_INTR at trigblk %lu\n", curblk));											if(stream->inth)						stream->inth(stream->inthparam);											stream->trigblk++;					stream->trigblk %= stream->blkmod;				}												auvia_reg_write_8(&card->config, stream->base + AUVIA_RP_STAT, AUVIA_RPSTAT_INTR);			}	} else {		TRACE(("AUVIA_SGD_SHADOW %x %x\n", card->interrupt_mask, auvia_reg_read_32(&card->config, AUVIA_SGD_SHADOW)));	}		if(gotone)		return B_HANDLED_INTERRUPT;	TRACE(("Got unhandled interrupt\n"));	return B_UNHANDLED_INTERRUPT;}