Lines Matching refs:hw_pos
246 buffer->hw_pos = 0; in emu10k1_waveout_open()
385 buffer->silence_pos = buffer->hw_pos; in emu10k1_waveout_getxfersize()
597 u32 hw_pos; in emu10k1_waveout_update() local
602 hw_pos = woinst->buffer.hw_pos; in emu10k1_waveout_update()
605 hw_pos = sblive_readptr(woinst->voice[0].card, CCCA_CURRADDR, woinst->voice[0].num); in emu10k1_waveout_update()
607 if(hw_pos < woinst->voice[0].start) in emu10k1_waveout_update()
608 hw_pos += woinst->buffer.size / woinst->format.bytespervoicesample - woinst->voice[0].start; in emu10k1_waveout_update()
610 hw_pos -= woinst->voice[0].start; in emu10k1_waveout_update()
612 hw_pos *= woinst->format.bytespervoicesample; in emu10k1_waveout_update()
615 diff = (woinst->buffer.size + hw_pos - woinst->buffer.hw_pos) % woinst->buffer.size; in emu10k1_waveout_update()
618 woinst->buffer.hw_pos = hw_pos; in emu10k1_waveout_update()