usb: gadget: f_uac2/u_audio: add feedback endpoint support
authorRuslan Bilovol <ruslan.bilovol@gmail.com>
Thu, 3 Jun 2021 22:01:02 +0000 (00:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jun 2021 09:26:49 +0000 (11:26 +0200)
commit24f779dac8f3efb9629adc0e486914d93dc45517
tree0f47fe52ca67b685311d94825b13877a4716d67d
parentaafe93516b8567ab5864e1f4cd3eeabc54fb0e5a
usb: gadget: f_uac2/u_audio: add feedback endpoint support

As per USB and UAC2 specs, asynchronous audio sink endpoint
requires explicit synchronization mechanism (Isochronous
Feedback Endpoint)

Implement feedback companion endpoint for ISO OUT endpoint

This patch adds all required infrastructure and USB requests
handling for feedback endpoint. Syncrhonization itself is
still dummy (feedback ep always reports 'nomimal frequency'
 e.g. no adjustement is needed). This satisfies hosts that
require feedback endpoint (like Win10) and poll it periodically

Actual synchronization mechanism should be implemented
separately

Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20210603220104.1216001-2-jbrunet@baylibre.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/f_uac2.c
drivers/usb/gadget/function/u_audio.c
drivers/usb/gadget/function/u_audio.h