Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp651219imm; Wed, 11 Jul 2018 08:41:18 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcEgxm5QSGK8HgxI0TFnCZVO5pz1qmE7AMy18L1LSSc0+wu0Y9AjJQtXa4iWm9rcsMU8Ybc X-Received: by 2002:a63:6cc8:: with SMTP id h191-v6mr27122997pgc.359.1531323678601; Wed, 11 Jul 2018 08:41:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531323678; cv=none; d=google.com; s=arc-20160816; b=t46oSyHc1I4b8m+ZH7eqKTqYfFRtEkEHLQmAOdr5fsBQHIOt051KgXgc1Kn/YxSevb Jf2S63Qmbc56DHwMvf4d/ZU25r0tXgCAiPziV6nmweKtFDOvOZt97E3D/DExXpmZl2sk GHiHyCi7izOZ8L7K5gL/GBSjzgha8BZWnR7lO9k5qqWCI7amGy5DUvAu55uD7JUcEP/C 5gApaWeb+uYcRYDDwF7lkZifV3kQoOppm9rrwYD9ja4d/xOdXAz45g6XswrRV++BiHLZ l7SSqLPvTSYyr0VbmIOBxyLN7zOy+uEMSApGFhJ6tZCWy/VtZMUjpCEIHrgiaReZvDbs eUQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=Lg6/rf9Uuz/JlhzY6iXrLhHATdmBGs2VoOW/hCwc0WA=; b=RsxNcZSCm8f7gQpo39PDHrP67HuQhyvSiSQmH8JaB7vvQVzzmN2oDOQ9oS9xmV9rj0 k0IPevv/kyVDDki97MKqGWsqilQV52eriLMvUUZs49HvXqgiYInp/7yX8AZYckvaWSX4 VhXgFVUr/Dya8dZjrUfw4ffMtMyP47sc9W6q/8oSPUR+z8w23pwzngj+dovGC7vkKhLA IsC8fMwy1JmQI2yXP4W2maOz79k1C8KA9K+1FAQyZSg8gk1Vn81Fdq1gq9C24edMXoJh XX89M2PfyyfkZIJjcapNrNJEOe0+SoppW5P9k2km1AIFeyuE4Wd87pUYwLLhgnqxv9u8 88Wg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f3-v6si18959308pgl.59.2018.07.11.08.41.03; Wed, 11 Jul 2018 08:41:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387537AbeGKMmO (ORCPT + 99 others); Wed, 11 Jul 2018 08:42:14 -0400 Received: from imap1.codethink.co.uk ([176.9.8.82]:56060 "EHLO imap1.codethink.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387499AbeGKMmM (ORCPT ); Wed, 11 Jul 2018 08:42:12 -0400 Received: from [148.252.241.226] (helo=ct-lt-1121.office.codethink.co.uk) by imap1.codethink.co.uk with esmtpsa (Exim 4.84_2 #1 (Debian)) id 1fdENd-00042U-LM; Wed, 11 Jul 2018 13:38:01 +0100 From: Jorge Sanjuan To: tiwai@suse.de Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/5] UAC3: Add Selectors and Processing Units. Date: Wed, 11 Jul 2018 13:37:50 +0100 Message-Id: <20180711123755.27182-1-jorge.sanjuan@codethink.co.uk> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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