zephyr/subsys
Tomasz Moń c19d34c5d3 usb: device_next: uac2: Double buffering on IN data endpoints
Application is expected to call usbd_uac2_send() on each enabled USB
Streaming Output Terminal (isochronous IN data endpoint) exactly once
every SOF. The class is bookkeeping queued transfers to make it easier
to determine component at fault when things go wrong. However, this
approach only works fine if the underlying USB device controller buffers
the data to be sent on next SOF and reports the transfer completion
immediately after data is buffered (e.g. nRF52 USBD).

While DWC2 otg also requires the SW to arm endpoint with data for the
next SOF, unlike nRF52 USBD the transfer is only considered complete
after either the IN token for isochronous endpoint is received or after
the Periodic Frame Interval elapses without IN token. This design
inevitably requires the application to be able to have at least two
buffers for isochronous IN endpoints.

Support dual buffering on IN data endpoints to facilitate sending
isochronous IN data on every SOF regardless of the underlying USB device
controller design.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
..
bindesc bindesc: Add support for reading binary descriptors 2024-10-11 13:20:49 -04:00
bluetooth drivers: bluetooth: hci: Place API into iterable section 2024-11-29 14:49:53 +01:00
canbus lib: net_buf: rename header file from zephyr/net/buf.h to zephyr/net_buf.h 2024-09-07 11:19:05 -05:00
console
dap
debug debug: symtab: fix ignored type qualifiers on func return type 2024-11-06 09:52:36 -08:00
demand_paging demand_paging: eviction: add kconfig CONFIG_EVICTION_TRACKING 2024-11-18 13:16:44 -05:00
dfu susbys/dfu/img_util: refined ERASE PROGRESSIVELY implementation 2024-10-18 08:19:28 -04:00
disk
dsp
emul
fb fb: cfb_shell: remove dev null check 2024-11-16 14:53:57 -05:00
fs fs: Fix null pointer exception caused by async fs_unmount 2024-11-07 18:06:58 -06:00
input input: prevent the caller from sleeping in sysworkq 2024-11-29 14:49:43 +01:00
ipc ipc: icbmsg: Reduce block alignment to 32-bits 2024-11-22 08:26:22 -05:00
jwt jwt: remove TinyCrypt usage 2024-11-05 13:44:20 -06:00
llext llext: fix minor Coverity issue #434586 2024-11-27 10:29:23 +01:00
logging logging: formatting: Allow coloring in custom cases 2024-11-19 10:12:05 -05:00
lorawan lorawan: replace booleans by atomic flags 2024-11-16 14:03:36 -05:00
mem_mgmt
mgmt mgmt: mcumgr: grp: img_mgmt: Fix misplaced #endif 2024-11-28 09:38:49 +01:00
modbus modbus: fix support for floating point values 2024-10-08 17:01:19 +02:00
modem drivers: modem: initialize variables to avoid warn 2024-11-19 10:04:58 -05:00
net wifi: Fix current PHY rate handling 2024-11-29 11:45:58 +01:00
pm pm: device_runtime: Optimize pm_device_runtime_usage 2024-11-26 15:43:21 -05:00
portability kernel/sched: Eliminate PRESTART thread state 2024-11-27 10:38:05 -05:00
profiling arch: deprecate _current 2024-11-23 20:12:24 -05:00
random random: random_timer.c Remove __GNUC__ ifdef 2024-11-06 10:11:58 -08:00
retention
rtio
sd
secure_storage secure_storage: introduce the secure storage subsystem 2024-10-07 13:38:43 +02:00
sensing
settings settings: introduce priority for commit 2024-10-24 22:04:07 +01:00
shell arch: deprecate _current 2024-11-23 20:12:24 -05:00
sip_svc
stats
storage Revert "storage: flash map: Add FIXED_PARTITION(label) macro" 2024-11-27 10:36:55 -05:00
task_wdt
testsuite tests: CONFIG_TEST_USERSPACE selects CONFIG_USERSPACE 2024-11-18 19:30:50 -05:00
timing
tracing tracing: add named event trace 2024-10-17 10:46:52 -04:00
usb usb: device_next: uac2: Double buffering on IN data endpoints 2024-11-30 09:36:17 +01:00
zbus zbus: optional publishing statistics 2024-10-10 14:57:13 -04:00
CMakeLists.txt secure_storage: introduce the secure storage subsystem 2024-10-07 13:38:43 +02:00
Kconfig secure_storage: introduce the secure storage subsystem 2024-10-07 13:38:43 +02:00