dwc2_gadget_...rame_elapsed(9)
π dwc2_gadget_target_frame_elapsed(9) β NAME π
okay so bestie, this is a page from the Kernel API Manual, and it's about one (1) little function: dwc2_gadget_target_frame_elapsed β the vibe checker for your target frame. that's literally the whole name, she's not hiding anything. π
β¨ SYNOPSIS β¨
bool dwc2_gadget_target_frame_elapsed (struct dwc2_hsotg_ep *hs_ep );
likeβ¦ the signature ate, ngl. she returns a bool and she takes exactly one thing. no notes. π«Ά
πΈ ARGUMENTS πΈ
hs_epβ The driver endpoint to check. that's it. that's the whole input. she's a simple girl, she just wants to look at your endpoint π
π¦ DESCRIPTION π¦
so here's the tea, bestie: this function returns 1 if the targeted frame elapsed. lowkey dramatic but okay.
and if she does hand you a 1? that means we need to drop the corresponding transfer. fr fr. the frame window said "time's up" and now you gotta let that transfer go π no negotiating, no "one more sec", she's done.
not her being the one to tell you it's over π
π SEE ALSO π
the friend group is genuinely enormous, buckle up. all of this lives in the kernel file ./drivers/usb/dwc2/gadget.c, and honestly the whole squad showed up:
using_dma(9), dwc2_gadget_incr_frame_num(9), dwc2_gadget_dec_frame_num_by_one(9), dwc2_hsotg_en_gsint(9), dwc2_hsotg_disable_gsint(9), dwc2_hsotg_ctrl_epint(9), dwc2_hsotg_tx_fifo_count(9), dwc2_hsotg_tx_fifo_total_depth(9), dwc2_gadget_wkup_alert_handler(9), dwc2_hsotg_tx_fifo_average_depth(9), dwc2_hsotg_init_fifo(9), dwc2_hsotg_ep_alloc_request(9), is_ep_periodic(9), dwc2_hsotg_unmap_dma(9), dwc2_hsotg_write_fifo(9), get_ep_limit(9), dwc2_hsotg_read_frameno(9), dwc2_gadget_get_chain_limit(9), dwc2_hsotg_start_req(9), dwc2_hsotg_map_dma(9), dwc2_hsotg_complete_oursetup(9), ep_from_windex(9), dwc2_hsotg_set_test_mode(9), dwc2_hsotg_send_reply(9), dwc2_hsotg_process_req_status(9), get_ep_head(9), dwc2_gadget_start_next_request(9), dwc2_hsotg_process_req_feature(9), dwc2_hsotg_stall_ep0(9), dwc2_hsotg_process_control(9), dwc2_hsotg_complete_setup(9), dwc2_hsotg_enqueue_setup(9), dwc2_hsotg_complete_request(9), dwc2_hsotg_rx_data(9), dwc2_hsotg_ep0_zlp(9), dwc2_hsotg_handle_outdone(9), dwc2_hsotg_handle_rx(9), dwc2_hsotg_ep0_mps(9), dwc2_hsotg_set_ep_maxpacket(9), dwc2_hsotg_txfifo_flush(9), dwc2_hsotg_trytx(9), dwc2_hsotg_complete_in(9), dwc2_gadget_read_ep_interrupts(9), dwc2_gadget_handle_ep_disabled(9), dwc2_gadget_handle_out_token_ep_disabled(9), dwc2_gadget_handle_nak(9), dwc2_hsotg_epint(9), dwc2_hsotg_irq_enumdone(9), kill_all_requests(9), dwc2_hsotg_disconnect(9), dwc2_hsotg_irq_fifoempty(9), dwc2_hsotg_core_init_disconnected(9), dwc2_gadget_handle_incomplete_isoc_in(9), dwc2_gadget_handle_incomplete_isoc_out(9), dwc2_hsotg_irq(9), dwc2_hsotg_ep_enable(9), dwc2_hsotg_ep_disable(9), on_list(9), dwc2_hsotg_ep_dequeue(9), dwc2_gadget_ep_set_wedge(9), dwc2_hsotg_ep_sethalt(9), dwc2_hsotg_ep_sethalt_lock(9), dwc2_hsotg_init(9), dwc2_hsotg_udc_start(9), dwc2_hsotg_udc_stop(9), dwc2_hsotg_gadget_getframe(9), dwc2_hsotg_set_selfpowered(9), dwc2_hsotg_pullup(9), dwc2_hsotg_vbus_draw(9), dwc2_hsotg_initep(9), dwc2_hsotg_hw_cfg(9), dwc2_hsotg_dump(9), dwc2_gadget_init(9), dwc2_hsotg_remove(9), dwc2_backup_device_registers(9), dwc2_restore_device_registers(9), dwc2_gadget_init_lpm(9), dwc2_gadget_program_ref_clk(9), dwc2_gadget_enter_hibernation(9), dwc2_gadget_exit_hibernation(9), dwc2_gadget_enter_partial_power_down(9), dwc2_gadget_enter_clock_gating(9)
like I said. enormous. main character energy from every single one of them, we love to see it π β¨
okay that's the whole page, you're officially educated ππ this lil gem lives in ./drivers/usb/dwc2, dated October 2026, and yes bestie the header said dwc2_gadget_...rame_elapsed(9) β she got cut off mid-name and honestly? relatable. bye, ily, go read the whole friend group π«ΆππΈ
π¦ 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