summaryrefslogtreecommitdiffstats
path: root/sound/usb/line6/capture.c
diff options
context:
space:
mode:
authorAndrej Krutak <dev@andree.sk>2016-09-18 20:59:22 +0200
committerTakashi Iwai <tiwai@suse.de>2016-09-19 22:58:50 +0200
commit79faa2b048b23f28a24a7b232d8933cb53df95b7 (patch)
tree0195ebdcd10c70f6e4171fda0aa225c4b6dc7b33 /sound/usb/line6/capture.c
parentb2233d97a0e64aa1f0557ffb409c957748ae7f3a (diff)
downloadlinux-79faa2b048b23f28a24a7b232d8933cb53df95b7.tar.gz
linux-79faa2b048b23f28a24a7b232d8933cb53df95b7.tar.bz2
linux-79faa2b048b23f28a24a7b232d8933cb53df95b7.zip
ALSA: line6: Add high-speed USB support
This has two parts: * intervals_per_second setup (high speed needs 8000, instead of 1000) * iso_buffers setup (count of iso buffers depends on USB speed, 2 is not enough for high speed) Signed-off-by: Andrej Krutak <dev@andree.sk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/line6/capture.c')
-rw-r--r--sound/usb/line6/capture.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/usb/line6/capture.c b/sound/usb/line6/capture.c
index c2808a0b771a..596bc53d0775 100644
--- a/sound/usb/line6/capture.c
+++ b/sound/usb/line6/capture.c
@@ -181,7 +181,15 @@ static void audio_in_callback(struct urb *urb)
length += fsize;
- /* the following assumes LINE6_ISO_PACKETS == 1: */
+ BUILD_BUG_ON_MSG(LINE6_ISO_PACKETS != 1,
+ "The following code assumes LINE6_ISO_PACKETS == 1");
+ /* TODO:
+ * Also, if iso_buffers != 2, the prev frame is almost random at
+ * playback side.
+ * This needs to be redesigned. It should be "stable", but we may
+ * experience sync problems on such high-speed configs.
+ */
+
line6pcm->prev_fbuf = fbuf;
line6pcm->prev_fsize = fsize;