[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANVWZtHn9jYczuhZiKyeC5yf1jjeKFySHv6RkY0ekDj5fD1h+w@mail.gmail.com>
Date: Thu, 19 Apr 2018 17:42:57 +0800
From: Andrew Chant <achant@...gle.com>
To: Ruslan Bilovol <ruslan.bilovol@...il.com>
Cc: Takashi Iwai <tiwai@...e.com>,
Jorge <jorge.sanjuan@...ethink.co.uk>,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: Re: [alsa-devel] [PATCH 4/4] ALSA: usb: add UAC3 BADD profiles support
On Sat, Apr 14, 2018 at 6:24 AM, Ruslan Bilovol
<ruslan.bilovol@...il.com> wrote:
> Recently released USB Audio Class 3.0 specification
> contains BADD (Basic Audio Device Definition) document
> which describes pre-defined UAC3 configurations.
>
> BADD support is mandatory for UAC3 devices, it should be
> implemented as a separate USB device configuration.
> As per BADD document, class-specific descriptors
> shall not be included in the Device’s Configuration
> descriptor ("inferred"), but host can guess them
> from BADD profile number, number of endpoints and
> their max packed sizes.
>
> This patch adds support of all BADD profiles from the spec
>
> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@...il.com>
> ---
> sound/usb/card.c | 14 +++
> sound/usb/clock.c | 9 +-
> sound/usb/mixer.c | 313 +++++++++++++++++++++++++++++++++++++++++++++++--
> sound/usb/mixer_maps.c | 65 ++++++++++
> sound/usb/stream.c | 83 +++++++++++--
> sound/usb/usbaudio.h | 2 +
> 6 files changed, 466 insertions(+), 20 deletions(-)
> --- a/sound/usb/mixer_maps.c
> +++ b/sound/usb/mixer_maps.c
> @@ -482,3 +482,68 @@ struct usbmix_ctl_map {
> { 0 } /* terminator */
> };
>
> +/*
> + * Control map entries for UAC3 BADD profiles
> + */
> +
> +static struct usbmix_name_map uac3_badd_generic_io_map[] = {
> + { UAC3_BADD_FU_ID2, "Generic Out Playback" },
> + { UAC3_BADD_FU_ID5, "Generic In Capture" },
> + { 0 } /* terminator */
> +};
> +static struct usbmix_name_map uac3_badd_headphone_map[] = {
> + { UAC3_BADD_FU_ID2, "Headphone Playback" },
> + { 0 } /* terminator */
> +};
> +static struct usbmix_name_map uac3_badd_speaker_map[] = {
> + { UAC3_BADD_FU_ID2, "Speaker Playback" },
> + { 0 } /* terminator */
> +};
> +static struct usbmix_name_map uac3_badd_microphone_map[] = {
> + { UAC3_BADD_FU_ID5, "Mic Capture" },
> + { 0 } /* terminator */
> +};
> +/* Covers also 'headset adapter' profile */
> +static struct usbmix_name_map uac3_badd_headset_map[] = {
> + { UAC3_BADD_FU_ID2, "Headset Playback" },
> + { UAC3_BADD_FU_ID5, "Headset Capture" },
> + { UAC3_BADD_FU_ID7, "Side Tone Mixing" },
Can you please call this "Sidetone"?
This better matches other Sidetone control names in the sound tree and
makes it compatible with existing Android userspace usage.
Powered by blists - more mailing lists