lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 26 May 2017 17:52:33 +0200
From:   Julian Scheel <julian@...st.de>
To:     Ruslan Bilovol <ruslan.bilovol@...il.com>,
        Felipe Balbi <balbi@...nel.org>
Cc:     Daniel Mack <zonque@...il.com>,
        Jassi Brar <jassisinghbrar@...il.com>,
        Clemens Ladisch <clemens@...isch.de>,
        Jonathan Corbet <corbet@....net>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Peter Chen <hzpeterchen@...il.com>, linux-usb@...r.kernel.org,
        linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 3/3] usb: gadget: add f_uac1 variant based on a new
 u_audio api

On 18.05.2017 00:37, Ruslan Bilovol wrote:
> This patch adds a new function 'f_uac1_acard'
> (f_uac1 with virtual "ALSA card") that
> uses recently created u_audio API. Comparing
> to legacy f_uac1 function implementation it
> doesn't require any real Audio codec to be
> present on the device. In f_uac1_acard audio
> streams are simply sinked to and sourced
> from a virtual ALSA sound card created
> using u_audio API.
> 
> Legacy f_uac1 approach is to write audio
> samples directly to existing ALSA sound
> card
> 
> f_uac1_acard approach is more generic/flexible
> one - create an ALSA sound card that
> represents USB Audio function and allows to
> be used by userspace application that
> may choose to do whatever it wants with the
> data received from the USB Host and choose
> to provide whatever it wants as audio data
> to the USB Host.
> 
> f_uac1_acard also has capture support (gadget->host)
> thanks to easy implementation via u_audio.
> By default, capture interface has 48000kHz/2ch
> configuration, same as playback channel has.
> 
> f_uac1_acard descriptors naming convention
> uses f_uac2 driver naming convention that
> makes it more common and meaningful.
> 
> Comparing to f_uac1, the f_uac1_acard doesn't
> have volume/mute functionality. This is because
> the f_uac1 volume/mute feature unit was dummy
> implementation since that driver creation (2009)
> and never had any real volume control or mute
> functionality, so there is no any difference
> here.
> 
> Since f_uac1_acard functionality, exposed
> interface to userspace (virtual ALSA card),
> input parameters are so different comparing
> to legace f_uac1, that there is no any
> reason to keep them in the same file/module,
> and separate function was created.
> 
> g_audio can be built using one of existing
> UAC functions (f_uac1, f_uac1_acard or f_uac2)
> 
> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@...il.com>
> ---
>   .../ABI/testing/configfs-usb-gadget-uac1_acard     |  14 +
>   Documentation/usb/gadget-testing.txt               |  45 ++
>   drivers/usb/gadget/Kconfig                         |  21 +
>   drivers/usb/gadget/function/Makefile               |   2 +
>   drivers/usb/gadget/function/f_uac1_acard.c         | 803 +++++++++++++++++++++
>   drivers/usb/gadget/function/u_uac1_acard.h         |  41 ++
>   drivers/usb/gadget/legacy/Kconfig                  |  15 +-
>   drivers/usb/gadget/legacy/audio.c                  |  53 ++
>   8 files changed, 992 insertions(+), 2 deletions(-)
>   create mode 100644 Documentation/ABI/testing/configfs-usb-gadget-uac1_acard
>   create mode 100644 drivers/usb/gadget/function/f_uac1_acard.c
>   create mode 100644 drivers/usb/gadget/function/u_uac1_acard.h
> 

Tested on iMX7D using chipidea usb gadget controller. Tested Windows 10 
and Linux 4.11 as host. Both work fine.

Tested-by: Julian Scheel <julian@...st.de>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ