summaryrefslogtreecommitdiff
path: root/sound/usb/line6/driver.h
diff options
context:
space:
mode:
authorAndrej Krutak <dev@andree.sk>2016-09-18 21:59:22 +0300
committerTakashi Iwai <tiwai@suse.de>2016-09-19 23:58:50 +0300
commit79faa2b048b23f28a24a7b232d8933cb53df95b7 (patch)
tree0195ebdcd10c70f6e4171fda0aa225c4b6dc7b33 /sound/usb/line6/driver.h
parentb2233d97a0e64aa1f0557ffb409c957748ae7f3a (diff)
downloadlinux-79faa2b048b23f28a24a7b232d8933cb53df95b7.tar.xz
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/driver.h')
-rw-r--r--sound/usb/line6/driver.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/sound/usb/line6/driver.h b/sound/usb/line6/driver.h
index 43dd1d06b5fa..a55eb8871b51 100644
--- a/sound/usb/line6/driver.h
+++ b/sound/usb/line6/driver.h
@@ -18,7 +18,13 @@
#include "midi.h"
-#define USB_INTERVALS_PER_SECOND 1000
+/* USB 1.1 speed configuration */
+#define USB_LOW_INTERVALS_PER_SECOND 1000
+#define USB_LOW_ISO_BUFFERS 2
+
+/* USB 2.0+ speed configuration */
+#define USB_HIGH_INTERVALS_PER_SECOND 8000
+#define USB_HIGH_ISO_BUFFERS 16
/* Fallback USB interval and max packet size values */
#define LINE6_FALLBACK_INTERVAL 10
@@ -109,12 +115,15 @@ struct usb_line6 {
/* Properties */
const struct line6_properties *properties;
- /* Interval (ms) */
+ /* Interval for data USB packets */
int interval;
+ /* ...for isochronous transfers framing */
+ int intervals_per_second;
+
/* Number of isochronous URBs used for frame transfers */
int iso_buffers;
- /* Maximum size of USB packet */
+ /* Maximum size of data USB packet */
int max_packet_size;
/* Device representing the USB interface */