[PATCH 0/5] UAC3: Add Selectors and Processing Units.

From: Jorge Sanjuan
Date: Wed Jul 11 2018 - 08:38:24 EST


This patchset is motivated by the addition of Multi Function
Processing Units (MFPU) to an UAC3 topology where there could be
signal processing algorithims applied to the audio signal.

The MFPUs themself don't provide any useful control, they offer a
description of what algorithims it supports and it is for Selector Units
to take the bypass control of the dry (unprocessed) signal and the modified
one. Moreover, Up/Down mixers may be needed in this topologies to control
which outputs of the logical output cluster from the MFPU are to be passed
as the final modified audio signal.

These patches add support for Selector Units and Processing units for UAC3
and adds a couple fixes that I found while implemeting them:

1) Defualt naming of the virtual terminals was not accurate due to codes
overlap between the three UAC standards.
2) UAC2 parsing of processing units was using UAC1 controls bitmap.

Based on: next-20180711

Jorge Sanjuan (5):
ALSA: usb-audio: Add support for Selector Units in UAC3
ALSA: usb-audio: Processing Unit controls parsing in UAC2
ALSA: usb-audio: Add support for Processing Units in UAC3
ALSA: usb-audio: Unify virtual type units type to UAC3 values
ALSA: usb-audio: Tidy up logic for Processing Unit min/max values

include/linux/usb/audio-v3.h | 15 +++
include/uapi/linux/usb/audio.h | 49 ++++++++--
sound/usb/mixer.c | 212 +++++++++++++++++++++++++++++++++--------
3 files changed, 225 insertions(+), 51 deletions(-)

--
2.11.0