From: Ruslan Bilovol <ruslan.bilovol@gmail.com>
To: Takashi Iwai <tiwai@suse.com>
Cc: Jorge <jorge.sanjuan@codethink.co.uk>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/4] USB Audio Device Class 3.0 BADD profiles support
Date: Sat, 14 Apr 2018 01:24:22 +0300 [thread overview]
Message-ID: <1523658266-2259-1-git-send-email-ruslan.bilovol@gmail.com> (raw)
This patchset adds BADD profiles support from the USB Audio
Device Class 3.0 spec [1].
BADD profile support is defined as mandatory feature of
UAC3-compliant device, it should be implemented as a separate
USB configuration.
Notable issue with BADD configuration is that it misses
class-specific descriptors (and it's mandatory as per spec),
so host should guess them from BADD profile number and
parameters of endpoints (type, number of endpoints and
max packet size)
This patchset adds support of all known/existing BADD profiles
from the UAC3 specification.
It's an alternative implementation comparing to [2],
and doesn't build usb descriptors on the host but instead
initializes alsa-usb structures with known parameters,
so we don't need to keep whole class-specific descriptors
in the driver since we anyway need to have BADD-specific
logic.
I've picked one Jorge's UAC1 patch-improvement and
updated it to v4.17 wich contais recently introduced
header's sanity checks.
Remaining part is to add interrupt endpoint support
so we will be able to detect jack insertion in
the Headset Adapter profile.
This has been tested on ARM and x86-64 machines with
custom UAC3 gadget which I'll post later to linux-usb
Comments and testing are welcome.
[1] http://www.usb.org/developers/docs/devclass_docs/USB_Audio_v3.0.zip
[2] https://www.spinics.net/lists/alsa-devel/msg71614.html
Jorge Sanjuan (1):
ALSA: usb: Only get AudioControl header for UAC1 class.
Ruslan Bilovol (3):
ALSA: usb: stream: refactor audio interface parsing
include: usb: audio-v3: add BADD-specific values
ALSA: usb: add UAC3 BADD profiles support
include/linux/usb/audio-v3.h | 26 ++
sound/usb/card.c | 53 ++--
sound/usb/clock.c | 9 +-
sound/usb/mixer.c | 313 +++++++++++++++++++-
sound/usb/mixer_maps.c | 65 +++++
sound/usb/stream.c | 678 +++++++++++++++++++++++++------------------
sound/usb/usbaudio.h | 2 +
7 files changed, 836 insertions(+), 310 deletions(-)
--
1.9.1
next reply other threads:[~2018-04-13 22:24 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-13 22:24 Ruslan Bilovol [this message]
2018-04-13 22:24 ` [PATCH 1/4] ALSA: usb: stream: refactor audio interface parsing Ruslan Bilovol
2018-04-19 9:55 ` [alsa-devel] " Takashi Iwai
2018-04-19 9:55 ` Takashi Iwai
2018-04-23 19:48 ` Ruslan Bilovol
2018-04-23 19:48 ` Ruslan Bilovol
2018-04-13 22:24 ` [PATCH 2/4] include: usb: audio-v3: add BADD-specific values Ruslan Bilovol
2018-04-13 22:24 ` Ruslan Bilovol
2018-04-13 22:24 ` [PATCH 3/4] ALSA: usb: Only get AudioControl header for UAC1 class Ruslan Bilovol
2018-04-13 22:24 ` [PATCH 4/4] ALSA: usb: add UAC3 BADD profiles support Ruslan Bilovol
2018-04-14 17:55 ` Jorge Sanjuan
2018-04-14 17:55 ` Jorge Sanjuan
2018-04-18 0:41 ` Ruslan Bilovol
2018-04-16 9:05 ` kbuild test robot, Dan Carpenter
2018-04-16 9:05 ` kbuild test robot, Dan Carpenter
2018-04-19 9:42 ` [alsa-devel] " Andrew Chant
2018-04-23 19:47 ` Ruslan Bilovol
2018-04-23 19:47 ` Ruslan Bilovol
2018-04-19 10:19 ` [alsa-devel] " Takashi Iwai
2018-04-24 7:51 ` Ruslan Bilovol
2018-04-24 7:51 ` Ruslan Bilovol
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1523658266-2259-1-git-send-email-ruslan.bilovol@gmail.com \
--to=ruslan.bilovol@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=gregkh@linuxfoundation.org \
--cc=jorge.sanjuan@codethink.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.