mirror of https://gitee.com/openkylin/linux.git
Merge branch 'topic/au88x0' into for-linus
* topic/au88x0: ALSA: au88x0: fix wrong period_elapsed() call ALSA: au88x0: fix .pointer callback
This commit is contained in:
commit
1d479f89ec
|
@ -1255,8 +1255,8 @@ static int inline vortex_adbdma_getlinearpos(vortex_t * vortex, int adbdma)
|
|||
int temp;
|
||||
|
||||
temp = hwread(vortex->mmio, VORTEX_ADBDMA_STAT + (adbdma << 2));
|
||||
temp = (dma->period_virt * dma->period_bytes) + (temp & POS_MASK);
|
||||
return (temp);
|
||||
temp = (dma->period_virt * dma->period_bytes) + (temp & (dma->period_bytes - 1));
|
||||
return temp;
|
||||
}
|
||||
|
||||
static void vortex_adbdma_startfifo(vortex_t * vortex, int adbdma)
|
||||
|
@ -1504,8 +1504,7 @@ static int inline vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma)
|
|||
int temp;
|
||||
|
||||
temp = hwread(vortex->mmio, VORTEX_WTDMA_STAT + (wtdma << 2));
|
||||
//temp = (temp & POS_MASK) + (((temp>>WT_SUBBUF_SHIFT) & WT_SUBBUF_MASK)*(dma->cfg0&POS_MASK));
|
||||
temp = (temp & POS_MASK) + ((dma->period_virt) * (dma->period_bytes));
|
||||
temp = (dma->period_virt * dma->period_bytes) + (temp & (dma->period_bytes - 1));
|
||||
return temp;
|
||||
}
|
||||
|
||||
|
@ -2441,7 +2440,8 @@ static irqreturn_t vortex_interrupt(int irq, void *dev_id)
|
|||
spin_lock(&vortex->lock);
|
||||
for (i = 0; i < NR_ADB; i++) {
|
||||
if (vortex->dma_adb[i].fifo_status == FIFO_START) {
|
||||
if (vortex_adbdma_bufshift(vortex, i)) ;
|
||||
if (!vortex_adbdma_bufshift(vortex, i))
|
||||
continue;
|
||||
spin_unlock(&vortex->lock);
|
||||
snd_pcm_period_elapsed(vortex->dma_adb[i].
|
||||
substream);
|
||||
|
|
Loading…
Reference in New Issue