Hi Takashi,
This patch adds initial USB Audio Device Class 3.0 [1] support to the ALSA that we discussed at ELCE.
The patch was tested with UAC3 gadget [2] that I posted to USB mailing list before. It is good for working with BADD device which implements such topologies like BAIF (Basic Audio Input Functions), BAOF (Basic Audio Output Functions) or compbination of both.
UAC3 spec has changed descriptors laout and many other codes comparing to UAC2 spec, thus making reuse of existing sources impossible or quite complex.
There are still many areas of improvement, as this patch doesn't have UAC3 Mixer Unit support nor some new features like Power Management
I tested this with BeagleBone Black as UAC3 gadget device.
[1] http://www.usb.org/developers/docs/devclass_docs/USB_Audio_v3.0.zip [2] http://www.spinics.net/lists/linux-usb/msg162482.html
Ruslan Bilovol (1): ALSA: usb: initial USB Audio Device Class 3.0 support
include/linux/usb/audio-v2.h | 4 +- include/linux/usb/audio-v3.h | 343 +++++++++++++++++++++++++++++++++++++++++ include/uapi/linux/usb/audio.h | 1 + sound/usb/card.c | 7 +- sound/usb/card.h | 2 +- sound/usb/clock.c | 228 ++++++++++++++++++++++++--- sound/usb/clock.h | 4 +- sound/usb/format.c | 87 +++++++++-- sound/usb/format.h | 6 +- sound/usb/mixer.c | 332 ++++++++++++++++++++++++++------------- sound/usb/stream.c | 296 ++++++++++++++++++++++++++++++----- 11 files changed, 1117 insertions(+), 193 deletions(-) create mode 100644 include/linux/usb/audio-v3.h