]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ALSA: usb-audio: us144mkii: Implement audio playback and feedback
authorŠerif Rami <ramiserifpersia@gmail.com>
Thu, 14 Aug 2025 17:22:18 +0000 (19:22 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 15 Aug 2025 15:53:47 +0000 (17:53 +0200)
commita2a2210f2c2e65a39631e4be727f1f9cc155171a
tree1a3b18d29544b5fded5837e5f34697d8ed777214
parent5c8c10796e274d1b5bb48756a45a6f2e865b30f2
ALSA: usb-audio: us144mkii: Implement audio playback and feedback

This patch implements the full audio playback data path. It introduces
the allocation, submission, and completion handling for isochronous
playback and feedback URBs.

The feedback URB completion handler is the core of the driver's clocking
mechanism. It reads the number of samples consumed by the device and
uses a pattern-based algorithm to adjust the size of outgoing playback
packets. This keeps the host and device synchronized and prevents xruns.

The patch also adds the necessary vendor and UAC control messages to
configure the device's sample rate. The PCM trigger is updated to
start and stop the playback and feedback URBs. Basic suspend and resume
handlers are included to manage stream state across power cycles.

Signed-off-by: Šerif Rami <ramiserifpersia@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250814172222.9448-4-ramiserifpersia@gmail.com
sound/usb/usx2y/us144mkii.c
sound/usb/usx2y/us144mkii.h
sound/usb/usx2y/us144mkii_capture.c
sound/usb/usx2y/us144mkii_pcm.c
sound/usb/usx2y/us144mkii_pcm.h
sound/usb/usx2y/us144mkii_playback.c