feedback_urb_complete(9)
π feedback_urb_complete(9) β the kernel API manual, but make it make sense π
okay bestie, so today we're doing the feedback_urb_complete(9) page from the Kernel API Manual and honestly? it's kind of a big deal. this is the master clock energy of the whole driver. no cap.
β¨ NAME β¨
feedback_urb_complete β the completion handler for feedback isochronous URBs. literally what it says on the tin, and it slays.
πΈ SYNOPSIS πΈ
void feedback_urb_complete (struct urb *urb );
that's it. that's the whole signature. cute, right? π
π¦ ARGUMENTS π¦
urbβ the completed URB. that's the one being handed to you. it's giving "here's the finished thing, do something with it" π
π₯ DESCRIPTION π₯
okay so this function is the master clock for the driver. like, main character energy, everything else is on its schedule. lowkey iconic.
quick vibe check though: it runs in interrupt context. so be normal about it, okay? π
here's the whole situation:
- it reads the feedback value from the device β that value is literally telling you how many samples the device has consumed, which is so useful of it honestly
- that info gets used to adjust the playback rate
- it also advances the capture stream pointer, so both streams stay in sync (the way they should, periodt)
- then it calls
snd_pcm_period_elapsedif necessary - and finally it resubmits itself β because of course it does, it's a completion handler, that's the whole loop π
so yeah. read feedback β tune playback β nudge capture β maybe snd_pcm_period_elapsed β resubmit. and it does all of that in interrupt context. she's booked and busy. π
π SEE ALSO π
the whole friend group, gathered for you π«Ά:
- Kernel file
./sound/usb/usx2y/us144mkii_pcm.h - var
tascam_pcm_hw(9) - var
tascam_playback_ops(9) - var
tascam_capture_ops(9) playback_urb_complete(9)capture_urb_complete(9)tascam_stop_pcm_work_handler(9)tascam_init_pcm(9)us144mkii_configure_device_for_rate(9)process_playback_routing_us144mkii(9)process_capture_routing_us144mkii(9)tascam_pcm_hw_params(9)tascam_pcm_hw_free(9)tascam_pcm_trigger(9)tascam_capture_work_handler(9)
go read those too, bestie, they're all in their own little era. iykyk π«
and that's the page!! π this little masterpiece lives over in ./sound/usb/usx2y, dated October 2026 β so mark your calendar, screenshot it, send it to the group chat. mwah, bye πβπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms