ALSA: usb: initial USB Audio Device Class 3.0 support
authorRuslan Bilovol <ruslan.bilovol@gmail.com>
Wed, 21 Mar 2018 00:03:59 +0000 (02:03 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 21 Mar 2018 10:46:33 +0000 (11:46 +0100)
commit9a2fe9b801f585baccf8352d82839dcd54b300cf
tree333de5ebcac026ce1a18da1c693cb8e9603c9a54
parentceb18f511beeb8b750f027f170eb6d901a082e9a
ALSA: usb: initial USB Audio Device Class 3.0 support

Recently released USB Audio Class 3.0 specification
introduces many significant changes comparing to
previous versions, like
 - new Power Domains, support for LPM/L1
 - new Cluster descriptor
 - changed layout of all class-specific descriptors
 - new High Capability descriptors
 - New class-specific String descriptors
 - new and removed units
 - additional sources for interrupts
 - removed Type II Audio Data Formats
 - ... and many other things (check spec)

It also provides backward compatibility through
multiple configurations, as well as requires
mandatory support for BADD (Basic Audio Device
Definition) on each ADC3.0 compliant device

This patch adds initial support of UAC3 specification
that is enough for Generic I/O Profile (BAOF, BAIF)
device support from BADD document.

Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/linux/usb/audio-v2.h
include/linux/usb/audio-v3.h [new file with mode: 0644]
include/uapi/linux/usb/audio.h
sound/usb/card.c
sound/usb/card.h
sound/usb/clock.c
sound/usb/clock.h
sound/usb/format.c
sound/usb/format.h
sound/usb/mixer.c
sound/usb/stream.c