Received: by 10.213.65.68 with SMTP id h4csp1188894imn; Sun, 18 Mar 2018 18:47:19 -0700 (PDT) X-Google-Smtp-Source: AG47ELsASXyigm13dym/JOAbATZQxvaGPXGL3wQuHJHfFzjn3586JSwUc9/NsPUUF6ak+MK/zwSJ X-Received: by 2002:a17:902:44c:: with SMTP id 70-v6mr10731499ple.354.1521424039689; Sun, 18 Mar 2018 18:47:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521424039; cv=none; d=google.com; s=arc-20160816; b=TPlQNprFHGMmuDKx6Hb26ZRglhDiIVwIeqnV9TBfnCuFY6sF88NsiHcIvg8uDMk7u+ r95wWdhWjexbRqvoAMxHraJEsS9k7GNoBV3oFsj98WbkaMrdAZ56ACI6iuLJpmK9KjNR o5nvrEEHbZ0oeo72L6tPthO0yO/PgaLCBDzZ8XZpJYGv3ma6Qzb3KqjtNWJYpVEJ7emq ZXPA7+Bc0vDLkmlDcD/+3O0I8cO7zVSDeeBIT2j0AbSYtyOedjfJoD6oH+UYELHF9R4V /CalW7c5bJ1tkqrLm1I750/IaV3/1Z1HGuGCqq+67TuQmHNfCWZ+fUz2suFh8TAX945A rDCA== 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 :dkim-signature:arc-authentication-results; bh=MNhuHtW7q+mUyVj5B8TqN0Pi3jGaFfk41J+cq4qN4uk=; b=CovwlzXHIQKbtoG+tCEAC6rzokXsd66fTgP2d//vhN1IYPzx9l4xx39tVZIBQRbuEY ZAtesuOGlRf2UyVRElfaqZxdt4RN0DpiqIOLQE3N/7O5S5u+KSzqqCMqyVW9K1zAzo2A sWJb3OoKsYw74Cr8SnttpfTJY2MV+RnIg8QsfXPFe8vcVSNpyyCjQn1JGmI4Ev2uLwzt KkanyL1HnIJmzBOyucaUI3XcU17yt8cK+Ivbu3uLiij82MKt9QpeD5z6wnxNyGBjcVIA rnLIRZ6Fz8cGE55szFxY9kBP87o7qGyFJRRRSpg4477h/Xj1fJpKtP3mPIi+yxLrloDx KxIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Th90vWYA; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b10-v6si3861382pla.260.2018.03.18.18.47.04; Sun, 18 Mar 2018 18:47:19 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Th90vWYA; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754976AbeCSBqI (ORCPT + 99 others); Sun, 18 Mar 2018 21:46:08 -0400 Received: from mail-lf0-f65.google.com ([209.85.215.65]:45606 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754218AbeCSBqH (ORCPT ); Sun, 18 Mar 2018 21:46:07 -0400 Received: by mail-lf0-f65.google.com with SMTP id h127-v6so22962163lfg.12 for ; Sun, 18 Mar 2018 18:46:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=MNhuHtW7q+mUyVj5B8TqN0Pi3jGaFfk41J+cq4qN4uk=; b=Th90vWYAnBYUxnBqzfXki+fliQnl/fhpx+vdbYdZAs0SRr7126bp0wCayHJKqFaGZj EkQ/u1MN87fnTocMqhCQt9VggRG4RZ8rp+iF5uZHCkb1hFBQ3wUXjEHFCLa7helZtruK W82YOMB9Lq8xlsOqXe53Y/bmqTVOypQh5vzl5qglRofrA9HFYMJozNIDleG/SnUL+q4q E31EoSIqCRH3kxwpDOoP1ALHdK1qTTGlRsrs0xyKA2zRrsWSGsATjVvPXmjqYm4DRIy+ 9MYkROxxAm4T+ZfDbRaPIOqEFaEzrDdrkur38zmXyPbSc+rkX9s9Ms1nL/c6k6pT2qsl hOnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=MNhuHtW7q+mUyVj5B8TqN0Pi3jGaFfk41J+cq4qN4uk=; b=KLxyLiT91bUzWqbX+gVbnTqt+mrmeAquocy6KBsQBMDBGxm4uiuwZf1BjPuqGBQhL0 JtesxCPwWBFlIguBrIRoWn85sFCYWlW9IKOVHkhEF/vI98WUgkTWAKXaFqIjhoa414ck sZQmjF3npaQgUuxmqk3U27189oLdy0DDz2wZJ0j7EXB3U3aI57tMCZKDlphRH4x8VuWy +uaOhRhDFd/uHLmG7795/12qRdDDm0ikFhEjNQWFnmkHoASes1GXizLOL/XR+7ubvyug q5lW2C5s1iQ9MEsrga6iZBeNj0Y59+iFGguamivatolcozsa1RQJFgO4bLm67vMPP27g hp/Q== X-Gm-Message-State: AElRT7EQK8ORpRJKTfLlhrNFSEgxKIocvpcM+xRpsJE4X/8UhpXAwZw+ kQvr/Rl4huTWz+1oPE9iBVM= X-Received: by 10.46.155.204 with SMTP id w12mr6475748ljj.76.1521423965572; Sun, 18 Mar 2018 18:46:05 -0700 (PDT) Received: from localhost ([62.216.62.149]) by smtp.gmail.com with ESMTPSA id f16sm2855261lja.48.2018.03.18.18.46.04 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Sun, 18 Mar 2018 18:46:04 -0700 (PDT) From: Ruslan Bilovol To: Takashi Iwai Cc: Pierre-Louis Bossart , Jorge , Greg Kroah-Hartman , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/2] USB Audio Device Class 3.0 support Date: Mon, 19 Mar 2018 03:46:01 +0200 Message-Id: <1521423963-24677-1-git-send-email-ruslan.bilovol@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Takashi, This patch adds initial USB Audio Device Class 3.0 [1] support to the ALSA that we discussed at ELCE. The patch was tested with UAC3 gadget [2] that I posted to USB mailing list before. It is good for working with BADD device which implements such topologies like BAIF (Basic Audio Input Functions), BAOF (Basic Audio Output Functions) or compbination of both. UAC3 spec has changed descriptors laout and many other codes comparing to UAC2 spec, thus making reuse of existing sources impossible or quite complex. There are still many areas of improvement, as this patch doesn't have UAC3 Mixer Unit support nor some new features like Power Management I tested this with BeagleBone Black as UAC3 gadget device. [1] http://www.usb.org/developers/docs/devclass_docs/USB_Audio_v3.0.zip [2] http://www.spinics.net/lists/linux-usb/msg162482.html v2 changes: - moved audioformat quirks to quirks.c - addressed many comments from Pierre-Louis Bossart - reorganized audio-v3.h - added more UAC3 channel relationship definitions Ruslan Bilovol (2): ALSA: usb-audio: move audioformat quirks to quirks.c ALSA: usb: initial USB Audio Device Class 3.0 support include/linux/usb/audio-v2.h | 4 +- include/linux/usb/audio-v3.h | 395 +++++++++++++++++++++++++++++++++++++++++ include/uapi/linux/usb/audio.h | 1 + sound/usb/card.c | 7 +- sound/usb/card.h | 2 +- sound/usb/clock.c | 228 +++++++++++++++++++++--- sound/usb/clock.h | 4 +- sound/usb/format.c | 91 ++++++++-- sound/usb/format.h | 6 +- sound/usb/mixer.c | 337 +++++++++++++++++++++++------------ sound/usb/quirks.c | 34 ++++ sound/usb/quirks.h | 4 + sound/usb/stream.c | 393 +++++++++++++++++++++++++++++++++------- 13 files changed, 1284 insertions(+), 222 deletions(-) create mode 100644 include/linux/usb/audio-v3.h -- 1.9.1