aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/au88x0
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/au88x0')
-rw-r--r--sound/pci/au88x0/au88x0.h6
-rw-r--r--sound/pci/au88x0/au88x0_a3d.c4
-rw-r--r--sound/pci/au88x0/au88x0_core.c4
-rw-r--r--sound/pci/au88x0/au88x0_eq.c3
-rw-r--r--sound/pci/au88x0/au88x0_pcm.c9
5 files changed, 15 insertions, 11 deletions
diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h
index cf46bba563c..02f6e08f759 100644
--- a/sound/pci/au88x0/au88x0.h
+++ b/sound/pci/au88x0/au88x0.h
@@ -104,7 +104,7 @@
104#define MIX_PLAYB(x) (vortex->mixplayb[x]) 104#define MIX_PLAYB(x) (vortex->mixplayb[x])
105#define MIX_SPDIF(x) (vortex->mixspdif[x]) 105#define MIX_SPDIF(x) (vortex->mixspdif[x])
106 106
107#define NR_WTPB 0x20 /* WT channels per eahc bank. */ 107#define NR_WTPB 0x20 /* WT channels per each bank. */
108 108
109/* Structs */ 109/* Structs */
110typedef struct { 110typedef struct {
@@ -211,7 +211,7 @@ static void vortex_adbdma_startfifo(vortex_t * vortex, int adbdma);
211//static void vortex_adbdma_stopfifo(vortex_t *vortex, int adbdma); 211//static void vortex_adbdma_stopfifo(vortex_t *vortex, int adbdma);
212static void vortex_adbdma_pausefifo(vortex_t * vortex, int adbdma); 212static void vortex_adbdma_pausefifo(vortex_t * vortex, int adbdma);
213static void vortex_adbdma_resumefifo(vortex_t * vortex, int adbdma); 213static void vortex_adbdma_resumefifo(vortex_t * vortex, int adbdma);
214static int inline vortex_adbdma_getlinearpos(vortex_t * vortex, int adbdma); 214static inline int vortex_adbdma_getlinearpos(vortex_t * vortex, int adbdma);
215static void vortex_adbdma_resetup(vortex_t *vortex, int adbdma); 215static void vortex_adbdma_resetup(vortex_t *vortex, int adbdma);
216 216
217#ifndef CHIP_AU8810 217#ifndef CHIP_AU8810
@@ -219,7 +219,7 @@ static void vortex_wtdma_startfifo(vortex_t * vortex, int wtdma);
219static void vortex_wtdma_stopfifo(vortex_t * vortex, int wtdma); 219static void vortex_wtdma_stopfifo(vortex_t * vortex, int wtdma);
220static void vortex_wtdma_pausefifo(vortex_t * vortex, int wtdma); 220static void vortex_wtdma_pausefifo(vortex_t * vortex, int wtdma);
221static void vortex_wtdma_resumefifo(vortex_t * vortex, int wtdma); 221static void vortex_wtdma_resumefifo(vortex_t * vortex, int wtdma);
222static int inline vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma); 222static inline int vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma);
223#endif 223#endif
224 224
225/* global stuff. */ 225/* global stuff. */
diff --git a/sound/pci/au88x0/au88x0_a3d.c b/sound/pci/au88x0/au88x0_a3d.c
index f4aa8ff6f5f..9ae8b3b1765 100644
--- a/sound/pci/au88x0/au88x0_a3d.c
+++ b/sound/pci/au88x0/au88x0_a3d.c
@@ -53,7 +53,7 @@ a3dsrc_GetTimeConsts(a3dsrc_t * a, short *HrtfTrack, short *ItdTrack,
53} 53}
54 54
55#endif 55#endif
56/* Atmospheric absorbtion. */ 56/* Atmospheric absorption. */
57 57
58static void 58static void
59a3dsrc_SetAtmosTarget(a3dsrc_t * a, short aa, short b, short c, short d, 59a3dsrc_SetAtmosTarget(a3dsrc_t * a, short aa, short b, short c, short d,
@@ -835,7 +835,7 @@ snd_vortex_a3d_filter_put(struct snd_kcontrol *kcontrol,
835 params[i] = ucontrol->value.integer.value[i]; 835 params[i] = ucontrol->value.integer.value[i];
836 /* Translate generic filter params to a3d filter params. */ 836 /* Translate generic filter params to a3d filter params. */
837 vortex_a3d_translate_filter(a->filter, params); 837 vortex_a3d_translate_filter(a->filter, params);
838 /* Atmospheric absorbtion and filtering. */ 838 /* Atmospheric absorption and filtering. */
839 a3dsrc_SetAtmosTarget(a, a->filter[0], 839 a3dsrc_SetAtmosTarget(a, a->filter[0],
840 a->filter[1], a->filter[2], 840 a->filter[1], a->filter[2],
841 a->filter[3], a->filter[4]); 841 a->filter[3], a->filter[4]);
diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c
index 16c0bdfbb16..489150380ea 100644
--- a/sound/pci/au88x0/au88x0_core.c
+++ b/sound/pci/au88x0/au88x0_core.c
@@ -1249,7 +1249,7 @@ static void vortex_adbdma_resetup(vortex_t *vortex, int adbdma) {
1249 } 1249 }
1250} 1250}
1251 1251
1252static int inline vortex_adbdma_getlinearpos(vortex_t * vortex, int adbdma) 1252static inline int vortex_adbdma_getlinearpos(vortex_t * vortex, int adbdma)
1253{ 1253{
1254 stream_t *dma = &vortex->dma_adb[adbdma]; 1254 stream_t *dma = &vortex->dma_adb[adbdma];
1255 int temp, page, delta; 1255 int temp, page, delta;
@@ -1506,7 +1506,7 @@ static int vortex_wtdma_getcursubuffer(vortex_t * vortex, int wtdma)
1506 POS_SHIFT) & POS_MASK); 1506 POS_SHIFT) & POS_MASK);
1507} 1507}
1508#endif 1508#endif
1509static int inline vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma) 1509static inline int vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma)
1510{ 1510{
1511 stream_t *dma = &vortex->dma_wt[wtdma]; 1511 stream_t *dma = &vortex->dma_wt[wtdma];
1512 int temp; 1512 int temp;
diff --git a/sound/pci/au88x0/au88x0_eq.c b/sound/pci/au88x0/au88x0_eq.c
index 38602b85874..278ed8189fc 100644
--- a/sound/pci/au88x0/au88x0_eq.c
+++ b/sound/pci/au88x0/au88x0_eq.c
@@ -896,7 +896,8 @@ static int __devinit vortex_eq_init(vortex_t * vortex)
896 if ((kcontrol = 896 if ((kcontrol =
897 snd_ctl_new1(&vortex_eq_kcontrol, vortex)) == NULL) 897 snd_ctl_new1(&vortex_eq_kcontrol, vortex)) == NULL)
898 return -ENOMEM; 898 return -ENOMEM;
899 strcpy(kcontrol->id.name, EqBandLabels[i]); 899 snprintf(kcontrol->id.name, sizeof(kcontrol->id.name),
900 "%s Playback Volume", EqBandLabels[i]);
900 kcontrol->private_value = i; 901 kcontrol->private_value = i;
901 if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0) 902 if ((err = snd_ctl_add(vortex->card, kcontrol)) < 0)
902 return err; 903 return err;
diff --git a/sound/pci/au88x0/au88x0_pcm.c b/sound/pci/au88x0/au88x0_pcm.c
index 5439d662d10..62e959120c4 100644
--- a/sound/pci/au88x0/au88x0_pcm.c
+++ b/sound/pci/au88x0/au88x0_pcm.c
@@ -44,10 +44,10 @@ static struct snd_pcm_hardware snd_vortex_playback_hw_adb = {
44 .channels_min = 1, 44 .channels_min = 1,
45 .channels_max = 2, 45 .channels_max = 2,
46 .buffer_bytes_max = 0x10000, 46 .buffer_bytes_max = 0x10000,
47 .period_bytes_min = 0x1, 47 .period_bytes_min = 0x20,
48 .period_bytes_max = 0x1000, 48 .period_bytes_max = 0x1000,
49 .periods_min = 2, 49 .periods_min = 2,
50 .periods_max = 32, 50 .periods_max = 1024,
51}; 51};
52 52
53#ifndef CHIP_AU8820 53#ifndef CHIP_AU8820
@@ -140,6 +140,9 @@ static int snd_vortex_pcm_open(struct snd_pcm_substream *substream)
140 SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0) 140 SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0)
141 return err; 141 return err;
142 142
143 snd_pcm_hw_constraint_step(runtime, 0,
144 SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 64);
145
143 if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) { 146 if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) {
144#ifndef CHIP_AU8820 147#ifndef CHIP_AU8820
145 if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_A3D) { 148 if (VORTEX_PCM_TYPE(substream->pcm) == VORTEX_PCM_A3D) {
@@ -515,7 +518,7 @@ static int __devinit snd_vortex_new_pcm(vortex_t *chip, int idx, int nr)
515 return -ENODEV; 518 return -ENODEV;
516 519
517 /* idx indicates which kind of PCM device. ADB, SPDIF, I2S and A3D share the 520 /* idx indicates which kind of PCM device. ADB, SPDIF, I2S and A3D share the
518 * same dma engine. WT uses it own separate dma engine whcih cant capture. */ 521 * same dma engine. WT uses it own separate dma engine which can't capture. */
519 if (idx == VORTEX_PCM_ADB) 522 if (idx == VORTEX_PCM_ADB)
520 nr_capt = nr; 523 nr_capt = nr;
521 else 524 else