aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/au88x0/au88x0_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/au88x0/au88x0_core.c')
-rw-r--r--sound/pci/au88x0/au88x0_core.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c
index 3906f5afe27..23f49f356e0 100644
--- a/sound/pci/au88x0/au88x0_core.c
+++ b/sound/pci/au88x0/au88x0_core.c
@@ -1255,8 +1255,8 @@ static int inline vortex_adbdma_getlinearpos(vortex_t * vortex, int adbdma)
1255 int temp; 1255 int temp;
1256 1256
1257 temp = hwread(vortex->mmio, VORTEX_ADBDMA_STAT + (adbdma << 2)); 1257 temp = hwread(vortex->mmio, VORTEX_ADBDMA_STAT + (adbdma << 2));
1258 temp = (dma->period_virt * dma->period_bytes) + (temp & POS_MASK); 1258 temp = (dma->period_virt * dma->period_bytes) + (temp & (dma->period_bytes - 1));
1259 return (temp); 1259 return temp;
1260} 1260}
1261 1261
1262static void vortex_adbdma_startfifo(vortex_t * vortex, int adbdma) 1262static void vortex_adbdma_startfifo(vortex_t * vortex, int adbdma)
@@ -1504,8 +1504,7 @@ static int inline vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma)
1504 int temp; 1504 int temp;
1505 1505
1506 temp = hwread(vortex->mmio, VORTEX_WTDMA_STAT + (wtdma << 2)); 1506 temp = hwread(vortex->mmio, VORTEX_WTDMA_STAT + (wtdma << 2));
1507 //temp = (temp & POS_MASK) + (((temp>>WT_SUBBUF_SHIFT) & WT_SUBBUF_MASK)*(dma->cfg0&POS_MASK)); 1507 temp = (dma->period_virt * dma->period_bytes) + (temp & (dma->period_bytes - 1));
1508 temp = (temp & POS_MASK) + ((dma->period_virt) * (dma->period_bytes));
1509 return temp; 1508 return temp;
1510} 1509}
1511 1510
@@ -2441,7 +2440,8 @@ static irqreturn_t vortex_interrupt(int irq, void *dev_id)
2441 spin_lock(&vortex->lock); 2440 spin_lock(&vortex->lock);
2442 for (i = 0; i < NR_ADB; i++) { 2441 for (i = 0; i < NR_ADB; i++) {
2443 if (vortex->dma_adb[i].fifo_status == FIFO_START) { 2442 if (vortex->dma_adb[i].fifo_status == FIFO_START) {
2444 if (vortex_adbdma_bufshift(vortex, i)) ; 2443 if (!vortex_adbdma_bufshift(vortex, i))
2444 continue;
2445 spin_unlock(&vortex->lock); 2445 spin_unlock(&vortex->lock);
2446 snd_pcm_period_elapsed(vortex->dma_adb[i]. 2446 snd_pcm_period_elapsed(vortex->dma_adb[i].
2447 substream); 2447 substream);