aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/caiaq/caiaq-audio.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2008-04-14 09:40:31 -0400
committerTakashi Iwai <tiwai@suse.de>2008-04-24 06:00:36 -0400
commit6e9fc6bd5db34a6580e1917bd0fea4b0754c7de8 (patch)
tree1773120a4c1c1a1221a7b8b9a71781a8d3ca2dab /sound/usb/caiaq/caiaq-audio.c
parent6849d49c48718def95cf1b74154b9b0aee617c7e (diff)
[ALSA] snd_usb_caiaq: make high sample rates work with A8DJ
This patch for snd_usb_caiaq makes sample rates higher dann 48KHz work with devices which have more than 2 stereo input/output pairs. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/caiaq/caiaq-audio.c')
-rw-r--r--sound/usb/caiaq/caiaq-audio.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/usb/caiaq/caiaq-audio.c b/sound/usb/caiaq/caiaq-audio.c
index ebf32818a16..24970a5c888 100644
--- a/sound/usb/caiaq/caiaq-audio.c
+++ b/sound/usb/caiaq/caiaq-audio.c
@@ -39,7 +39,8 @@
39#define BYTES_PER_SAMPLE 3 39#define BYTES_PER_SAMPLE 3
40#define BYTES_PER_SAMPLE_USB 4 40#define BYTES_PER_SAMPLE_USB 4
41#define MAX_BUFFER_SIZE (128*1024) 41#define MAX_BUFFER_SIZE (128*1024)
42 42#define MAX_ENDPOINT_SIZE 512
43
43#define ENDPOINT_CAPTURE 2 44#define ENDPOINT_CAPTURE 2
44#define ENDPOINT_PLAYBACK 6 45#define ENDPOINT_PLAYBACK 6
45 46
@@ -221,7 +222,10 @@ static int snd_usb_caiaq_pcm_prepare(struct snd_pcm_substream *substream)
221 222
222 bpp = ((runtime->rate / 8000) + CLOCK_DRIFT_TOLERANCE) 223 bpp = ((runtime->rate / 8000) + CLOCK_DRIFT_TOLERANCE)
223 * bytes_per_sample * CHANNELS_PER_STREAM * dev->n_streams; 224 * bytes_per_sample * CHANNELS_PER_STREAM * dev->n_streams;
224 225
226 if (bpp > MAX_ENDPOINT_SIZE)
227 bpp = MAX_ENDPOINT_SIZE;
228
225 ret = snd_usb_caiaq_set_audio_params(dev, runtime->rate, 229 ret = snd_usb_caiaq_set_audio_params(dev, runtime->rate,
226 runtime->sample_bits, bpp); 230 runtime->sample_bits, bpp);
227 if (ret) 231 if (ret)