kernel-hacking-2024-linux-s.../Documentation
Ruslan Bilovol e89bb42883 usb: gadget: u_audio: add real feedback implementation
This adds interface between userspace and feedback endpoint to report real
feedback frequency to the Host.

Current implementation adds new userspace interface ALSA mixer control
"Capture Pitch 1000000" (similar to aloop driver's "PCM Rate Shift 100000"
mixer control)

Value in PPM is chosen to have correction value agnostic of the actual HW
rate, which the application is not necessarily dealing with, while still
retaining a good enough precision to allow smooth clock correction on the
playback side, if necessary.

Similar to sound/usb/endpoint.c, a slow down is allowed up to 25%. This
has no impact on the required bandwidth. Speedup correction has an impact
on the bandwidth reserved for the isochronous endpoint. The default
allowed speedup is 500ppm. This seems to be more than enough but, if
necessary, this is configurable through a module parameter. The reserved
bandwidth is rounded up to the next packet size.

Usage of this new control is easy to implement in existing userspace tools
like alsaloop from alsa-utils.

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-4-jbrunet@baylibre.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-09 11:26:49 +02:00
..
ABI usb: gadget: u_audio: add real feedback implementation 2021-06-09 11:26:49 +02:00
accounting
admin-guide Networking fixes for 5.13-rc4, including fixes from bpf, netfilter, 2021-05-26 17:44:49 -10:00
arm
arm64 Assorted arm64 fixes and clean-ups, the most important: 2021-05-07 12:11:05 -07:00
block Documentation: drop optional BOMs 2021-05-10 15:17:34 -06:00
bpf
cdrom docs: cdrom-standard.rst: get rid of uneeded UTF-8 chars 2021-05-11 11:00:17 -06:00
core-api A few late-arriving documentation fixes, including some oprofile cleanup, a 2021-05-06 08:33:54 -07:00
cpu-freq
crypto
dev-tools scripts/gdb: add lx_current support for arm64 2021-05-07 00:26:33 -07:00
devicetree doc: dt-binding: cdns,usb3: Add interrupt-names property under required 2021-06-04 13:51:41 +02:00
doc-guide
driver-api Merge 5.13-rc4 into usb-next 2021-05-31 09:50:26 +02:00
fault-injection
fb
features
filesystems erofs: update documentation about data compression 2021-05-11 16:47:15 +08:00
firmware-guide
firmware_class
fpga
gpu
hid
hwmon docs: hwmon: tmp103.rst: fix bad usage of UTF-8 chars 2021-05-11 11:00:18 -06:00
i2c
ia64
ide
iio
infiniband
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2021-05-06 23:37:55 -07:00
isdn
kbuild
kernel-hacking
leds
litmus-tests
livepatch
locking
m68k
maintainer
mhi
mips
misc-devices
netlabel
networking docs: networking: device_drivers: fix bad usage of UTF-8 chars 2021-05-11 11:00:18 -06:00
nios2
nvdimm
openrisc
parisc
PCI
pcmcia
power
powerpc powerpc/64s/syscall: Use pt_regs.trap to distinguish syscall ABI difference between sc and scv syscalls 2021-05-21 00:58:03 +10:00
process Documentation: drop optional BOMs 2021-05-10 15:17:34 -06:00
RCU
riscv
s390
scheduler sched,doc: sched_debug_verbose cmdline should be sched_verbose 2021-05-06 15:33:26 +02:00
scsi
security Documentation: drop optional BOMs 2021-05-10 15:17:34 -06:00
sh
sound
sparc
sphinx
sphinx-static
spi
staging
target
timers Documentation: drop optional BOMs 2021-05-10 15:17:34 -06:00
trace
translations docs/zh_CN: Remove obsolete translation file 2021-05-10 15:14:31 -06:00
usb usb: gadget: u_audio: add real feedback implementation 2021-06-09 11:26:49 +02:00
userspace-api Documentation: seccomp: Fix user notification documentation 2021-05-28 09:54:12 -07:00
virt ARM fixes: 2021-05-29 06:02:25 -10:00
vm
w1
watchdog
x86 x86/msr: Rename MSR_K8_SYSCFG to MSR_AMD64_SYSCFG 2021-05-10 07:51:38 +02:00
xtensa
.gitignore
arch.rst
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
COPYING-logo
docutils.conf
dontdiff
index.rst
Kconfig
logo.gif
Makefile
memory-barriers.txt
SubmittingPatches
watch_queue.rst