OSDN Git Service

usb: gadget: f_uac2: Support multiple sampling rates
authorJulian Scheel <julian@jusst.de>
Fri, 21 Jan 2022 15:53:03 +0000 (16:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Jan 2022 13:06:08 +0000 (14:06 +0100)
commita7339e4f5788bd088bb0be1f96a6cce459676ed0
tree18e6f798108563a7e475508e7bb2ba382f848712
parenteb3a1ce6f5ed2c047bcae4aad76b7ee711715c7d
usb: gadget: f_uac2: Support multiple sampling rates

A list of sampling rates can be specified via configfs. All enabled
sampling rates are sent to the USB host on request. When the host
selects a sampling rate, the internal active rate (stored in
struct f_uac2) is updated.

The gadget no longer supports only one frequency. Therefore USB strings
corresponding to the clock sources are renamed from specific Hz value to
general names Input clock/Output clock.

Config strings with single value stay compatible with the previous
version.

Multiple samplerates passed as configuration arrays to g_audio module
when built for f_uac2.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
Link: https://lore.kernel.org/r/20220121155308.48794-6-pavel.hofman@ivitera.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/configfs-usb-gadget-uac2
Documentation/usb/gadget-testing.rst
drivers/usb/gadget/function/f_uac2.c
drivers/usb/gadget/function/u_uac2.h
drivers/usb/gadget/legacy/audio.c