From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: ARC-Seal: i=1; a=rsa-sha256; t=1524512876; cv=none; d=google.com; s=arc-20160816; b=gq9ST+am0zN1NhOLmbig/6XdUlOSmLV2zUskpEX5uMrD7HdZoKPDixn2ZXJXsd8d8Z 1mMlf5QSjidn836kbXxc4ypJADxm++kbMpq/kGQgwxXuu+BMzYHff4kCnICGfXReO84m H5Qcenz8uf5Y7YE0Rwkjn7KYzB5LsVrAFGeb6xvKt4jh5su/Rs196GBKPObU+Z7kYba4 4W6lr70Pu9Y3o0rmwECkD/OKbqTSkMqmbo6t9EEn3xt/QjG6baBXr6HL93PEvEdmCL1Z qNwVvbhRmKQFJTR5dJbwjtKq2HMizt5oXfk5c9qt5AndeJcwq5UmxN7ig1LoH38oncad E2Gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=JdmvFIiTxJzwEOd4xKaN1uj3w1Gr0yyBeBFnAGVTDJY=; b=ELHJe4//Ak6nAYxukbVszeZ/kxNtig4kNUU1kmveLYkoa/8VccqnpQzmxwkz0KGEwn CIQgihZ6XjI1rUB7cF+XFSuzu4HranX6uyhhNO7M7OcuAp4spbDoI/MvuUkYLdnz6rZb IM/f6NWhSzKXAUKvf+dRT1pKADJ3+GKbSeLO7lqCejiln5BBZYzmdstFnQsvYiJo0HaV L8fLhRJjvjnItMFPyZZ7UaEPgZat1VYibRcSVswWs1opKdmusoAZ9MP5An59vlhVyHE3 BQj0vInjSsE4dN89J/LBrfvCDYzZ/ZaJbaa/esgDbe50rfw+VMRfO7E0xKcpnRZZ01RT HkEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=rPC/k96A; spf=pass (google.com: domain of ruslan.bilovol@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=ruslan.bilovol@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=rPC/k96A; spf=pass (google.com: domain of ruslan.bilovol@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=ruslan.bilovol@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com X-Google-Smtp-Source: AIpwx48Oux54v6MiK0Pl52IpLZzXAtkB52svgdZ5L7lj0o6pY+iiGKzyJ7CjNyHjwq80CiS0jg8SXlQyAxrcO60ab7A= MIME-Version: 1.0 In-Reply-To: References: <1523658266-2259-1-git-send-email-ruslan.bilovol@gmail.com> <1523658266-2259-5-git-send-email-ruslan.bilovol@gmail.com> From: Ruslan Bilovol Date: Mon, 23 Apr 2018 22:47:55 +0300 Message-ID: Subject: Re: [alsa-devel] [PATCH 4/4] ALSA: usb: add UAC3 BADD profiles support To: Andrew Chant Cc: Takashi Iwai , Jorge , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1597671512160670217?= X-GMAIL-MSGID: =?utf-8?q?1598567613582435847?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On Thu, Apr 19, 2018 at 12:42 PM, Andrew Chant wrote: > On Sat, Apr 14, 2018 at 6:24 AM, Ruslan Bilovol > 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=E2=80=99s 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 >> --- >> 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[] =3D { >> + { 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[] =3D { >> + { UAC3_BADD_FU_ID2, "Headphone Playback" }, >> + { 0 } /* terminator */ >> +}; >> +static struct usbmix_name_map uac3_badd_speaker_map[] =3D { >> + { UAC3_BADD_FU_ID2, "Speaker Playback" }, >> + { 0 } /* terminator */ >> +}; >> +static struct usbmix_name_map uac3_badd_microphone_map[] =3D { >> + { UAC3_BADD_FU_ID5, "Mic Capture" }, >> + { 0 } /* terminator */ >> +}; >> +/* Covers also 'headset adapter' profile */ >> +static struct usbmix_name_map uac3_badd_headset_map[] =3D { >> + { 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. I have no any objections, "Side Tone" was in UAC3 documentation, but "Sidetone" is OK too, so will change it Thanks, Ruslan From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ruslan Bilovol Subject: Re: [PATCH 4/4] ALSA: usb: add UAC3 BADD profiles support Date: Mon, 23 Apr 2018 22:47:55 +0300 Message-ID: References: <1523658266-2259-1-git-send-email-ruslan.bilovol@gmail.com> <1523658266-2259-5-git-send-email-ruslan.bilovol@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ot0-f193.google.com (mail-ot0-f193.google.com [74.125.82.193]) by alsa0.perex.cz (Postfix) with ESMTP id 9012F267659 for ; Mon, 23 Apr 2018 21:47:57 +0200 (CEST) Received: by mail-ot0-f193.google.com with SMTP id y10-v6so5603183otg.10 for ; Mon, 23 Apr 2018 12:47:57 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Andrew Chant Cc: Jorge , alsa-devel@alsa-project.org, Greg Kroah-Hartman , Takashi Iwai , linux-kernel@vger.kernel.org List-Id: alsa-devel@alsa-project.org T24gVGh1LCBBcHIgMTksIDIwMTggYXQgMTI6NDIgUE0sIEFuZHJldyBDaGFudCA8YWNoYW50QGdv b2dsZS5jb20+IHdyb3RlOgo+IE9uIFNhdCwgQXByIDE0LCAyMDE4IGF0IDY6MjQgQU0sIFJ1c2xh biBCaWxvdm9sCj4gPHJ1c2xhbi5iaWxvdm9sQGdtYWlsLmNvbT4gd3JvdGU6Cj4+IFJlY2VudGx5 IHJlbGVhc2VkIFVTQiBBdWRpbyBDbGFzcyAzLjAgc3BlY2lmaWNhdGlvbgo+PiBjb250YWlucyBC QUREIChCYXNpYyBBdWRpbyBEZXZpY2UgRGVmaW5pdGlvbikgZG9jdW1lbnQKPj4gd2hpY2ggZGVz Y3JpYmVzIHByZS1kZWZpbmVkIFVBQzMgY29uZmlndXJhdGlvbnMuCj4+Cj4+IEJBREQgc3VwcG9y dCBpcyBtYW5kYXRvcnkgZm9yIFVBQzMgZGV2aWNlcywgaXQgc2hvdWxkIGJlCj4+IGltcGxlbWVu dGVkIGFzIGEgc2VwYXJhdGUgVVNCIGRldmljZSBjb25maWd1cmF0aW9uLgo+PiBBcyBwZXIgQkFE RCBkb2N1bWVudCwgY2xhc3Mtc3BlY2lmaWMgZGVzY3JpcHRvcnMKPj4gc2hhbGwgbm90IGJlIGlu Y2x1ZGVkIGluIHRoZSBEZXZpY2XigJlzIENvbmZpZ3VyYXRpb24KPj4gZGVzY3JpcHRvciAoImlu ZmVycmVkIiksIGJ1dCBob3N0IGNhbiBndWVzcyB0aGVtCj4+IGZyb20gQkFERCBwcm9maWxlIG51 bWJlciwgbnVtYmVyIG9mIGVuZHBvaW50cyBhbmQKPj4gdGhlaXIgbWF4IHBhY2tlZCBzaXplcy4K Pj4KPj4gVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgb2YgYWxsIEJBREQgcHJvZmlsZXMgZnJvbSB0 aGUgc3BlYwo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBSdXNsYW4gQmlsb3ZvbCA8cnVzbGFuLmJpbG92 b2xAZ21haWwuY29tPgo+PiAtLS0KPj4gIHNvdW5kL3VzYi9jYXJkLmMgICAgICAgfCAgMTQgKysr Cj4+ICBzb3VuZC91c2IvY2xvY2suYyAgICAgIHwgICA5ICstCj4+ICBzb3VuZC91c2IvbWl4ZXIu YyAgICAgIHwgMzEzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0KPj4gIHNvdW5kL3VzYi9taXhlcl9tYXBzLmMgfCAgNjUgKysrKysrKysrKwo+PiAgc291 bmQvdXNiL3N0cmVhbS5jICAgICB8ICA4MyArKysrKysrKysrKy0tCj4+ICBzb3VuZC91c2IvdXNi YXVkaW8uaCAgIHwgICAyICsKPj4gIDYgZmlsZXMgY2hhbmdlZCwgNDY2IGluc2VydGlvbnMoKyks IDIwIGRlbGV0aW9ucygtKQo+Cj4+IC0tLSBhL3NvdW5kL3VzYi9taXhlcl9tYXBzLmMKPj4gKysr IGIvc291bmQvdXNiL21peGVyX21hcHMuYwo+PiBAQCAtNDgyLDMgKzQ4Miw2OCBAQCBzdHJ1Y3Qg dXNibWl4X2N0bF9tYXAgewo+PiAgICAgICAgIHsgMCB9IC8qIHRlcm1pbmF0b3IgKi8KPj4gIH07 Cj4+Cj4+ICsvKgo+PiArICogQ29udHJvbCBtYXAgZW50cmllcyBmb3IgVUFDMyBCQUREIHByb2Zp bGVzCj4+ICsgKi8KPj4gKwo+PiArc3RhdGljIHN0cnVjdCB1c2JtaXhfbmFtZV9tYXAgdWFjM19i YWRkX2dlbmVyaWNfaW9fbWFwW10gPSB7Cj4+ICsgICAgICAgeyBVQUMzX0JBRERfRlVfSUQyLCAi R2VuZXJpYyBPdXQgUGxheWJhY2siIH0sCj4+ICsgICAgICAgeyBVQUMzX0JBRERfRlVfSUQ1LCAi R2VuZXJpYyBJbiBDYXB0dXJlIiB9LAo+PiArICAgICAgIHsgMCB9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKiB0ZXJtaW5hdG9yICovCj4+ICt9Owo+PiArc3RhdGljIHN0cnVj dCB1c2JtaXhfbmFtZV9tYXAgdWFjM19iYWRkX2hlYWRwaG9uZV9tYXBbXSA9IHsKPj4gKyAgICAg ICB7IFVBQzNfQkFERF9GVV9JRDIsICJIZWFkcGhvbmUgUGxheWJhY2siIH0sCj4+ICsgICAgICAg eyAwIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRlcm1pbmF0b3IgKi8K Pj4gK307Cj4+ICtzdGF0aWMgc3RydWN0IHVzYm1peF9uYW1lX21hcCB1YWMzX2JhZGRfc3BlYWtl cl9tYXBbXSA9IHsKPj4gKyAgICAgICB7IFVBQzNfQkFERF9GVV9JRDIsICJTcGVha2VyIFBsYXli YWNrIiB9LAo+PiArICAgICAgIHsgMCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiB0ZXJtaW5hdG9yICovCj4+ICt9Owo+PiArc3RhdGljIHN0cnVjdCB1c2JtaXhfbmFtZV9t YXAgdWFjM19iYWRkX21pY3JvcGhvbmVfbWFwW10gPSB7Cj4+ICsgICAgICAgeyBVQUMzX0JBRERf RlVfSUQ1LCAiTWljIENhcHR1cmUiIH0sCj4+ICsgICAgICAgeyAwIH0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qIHRlcm1pbmF0b3IgKi8KPj4gK307Cj4+ICsvKiBDb3ZlcnMg YWxzbyAnaGVhZHNldCBhZGFwdGVyJyBwcm9maWxlICovCj4+ICtzdGF0aWMgc3RydWN0IHVzYm1p eF9uYW1lX21hcCB1YWMzX2JhZGRfaGVhZHNldF9tYXBbXSA9IHsKPj4gKyAgICAgICB7IFVBQzNf QkFERF9GVV9JRDIsICJIZWFkc2V0IFBsYXliYWNrIiB9LAo+PiArICAgICAgIHsgVUFDM19CQURE X0ZVX0lENSwgIkhlYWRzZXQgQ2FwdHVyZSIgfSwKPj4gKyAgICAgICB7IFVBQzNfQkFERF9GVV9J RDcsICJTaWRlIFRvbmUgTWl4aW5nIiB9LAo+IENhbiB5b3UgcGxlYXNlIGNhbGwgdGhpcyAiU2lk ZXRvbmUiPwo+IFRoaXMgYmV0dGVyIG1hdGNoZXMgb3RoZXIgU2lkZXRvbmUgY29udHJvbCBuYW1l cyBpbiB0aGUgc291bmQgdHJlZSBhbmQKPiBtYWtlcyBpdCBjb21wYXRpYmxlIHdpdGggZXhpc3Rp bmcgQW5kcm9pZCB1c2Vyc3BhY2UgdXNhZ2UuCgpJIGhhdmUgbm8gYW55IG9iamVjdGlvbnMsICJT aWRlIFRvbmUiIHdhcyBpbiBVQUMzIGRvY3VtZW50YXRpb24sIGJ1dAoiU2lkZXRvbmUiIGlzIE9L IHRvbywgc28gd2lsbCBjaGFuZ2UgaXQKClRoYW5rcywKUnVzbGFuCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0CkFs c2EtZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZwpodHRwOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8vYWxzYS1kZXZlbAo=