pch_udc_postsvc_epinters(9)
π pch_udc_postsvc_epinters(9) β the Kernel API Manual, bestie edition π
Okay so this is a page from the Kernel API Manual, and the star of the show is pch_udc_postsvc_epinters β yes it's a mouthful, yes you're gonna say it in your head seven times, no we're not abbreviating it, that's her name and she's iconic for it β¨
πΈ NAME πΈ
pch_udc_postsvc_epinters β This function enables end point interrupts and clears NAK status π
Like, that's the whole vibe: turn the endpoint interrupts on, and wipe that NAK status away. Two jobs, zero drama. Periodt.
π¦ SYNOPSIS π¦
void pch_udc_postsvc_epinters (struct pch_udc_dev *dev , int ep_num );
Notice the void bestie β nothing comes back out. She does the thing and she leaves. Main character energy fr fr π
π ARGUMENTS π
devβ Reference to the device structure. This is the whole device's vibe card, so hand her a real pointer, mwah π«Άep_numβ End point number. That's the specific endpoint you're servicing, ngl just tell her which one π
β¨ SEE ALSO β¨
Bestie, buckle up, because this is a whole friend group π The kernel file in question lives at ./drivers/usb/gadget/udc/pch_udc.c, and here's everyone else you might wanna meet:
- The structs, aka the data besties π β
struct pch_udc_data_dma_desc(9),struct pch_udc_stp_dma_desc(9),struct pch_udc_cfg_data(9),struct pch_udc_ep(9),struct pch_vbus_gpio_data(9),struct pch_udc_dev(9),struct pch_udc_request(9) - The CSR girlies π β
pch_udc_csr_busy(9),pch_udc_write_csr(9),pch_udc_read_csr(9) - Assorted device-level moments β β
pch_udc_rmt_wakeup(9),pch_udc_get_frame(9),pch_udc_clear_selfpowered(9),pch_udc_set_selfpowered(9),pch_udc_set_disconnect(9),pch_udc_clear_disconnect(9),pch_udc_reconnect(9),pch_udc_vbus_session(9) - The endpoint squad π β
pch_udc_ep_set_stall(9),pch_udc_ep_clear_stall(9),pch_udc_ep_set_trfr_type(9),pch_udc_ep_set_bufsz(9),pch_udc_ep_set_maxpkt(9),pch_udc_ep_set_subptr(9),pch_udc_ep_set_ddptr(9),pch_udc_ep_set_pd(9),pch_udc_ep_set_rrdy(9),pch_udc_ep_clear_rrdy(9) - DMA + CSR-done crew π₯ β
pch_udc_set_dma(9),pch_udc_clear_dma(9),pch_udc_set_csr_done(9) - Interrupt enable/disable enablers π§ β
pch_udc_disable_interrupts(9),pch_udc_enable_interrupts(9),pch_udc_disable_ep_interrupts(9),pch_udc_enable_ep_interrupts(9) - The read/write register twins π β
pch_udc_read_device_interrupts(9),pch_udc_write_device_interrupts(9),pch_udc_read_ep_interrupts(9),pch_udc_write_ep_interrupts(9),pch_udc_read_device_status(9),pch_udc_read_ep_control(9),pch_udc_clear_ep_control(9),pch_udc_read_ep_status(9),pch_udc_clear_ep_status(9) - NAK + FIFO + enable/disable + stall-waiting π β
pch_udc_ep_set_nak(9),pch_udc_ep_clear_nak(9),pch_udc_ep_fifo_flush(9),pch_udc_ep_enable(9),pch_udc_ep_disable(9),pch_udc_wait_ep_stall(9) - Init/exit + gadget (pcd) layer π β
pch_udc_init(9),pch_udc_exit(9),pch_udc_pcd_get_frame(9),pch_udc_pcd_wakeup(9),pch_udc_pcd_selfpowered(9),pch_udc_pcd_pullup(9),pch_udc_pcd_vbus_session(9),pch_udc_pcd_vbus_draw(9) - The VBUS GPIO committee π β
pch_vbus_gpio_get_value(9),pch_vbus_gpio_work_fall(9),pch_vbus_gpio_work_rise(9),pch_vbus_gpio_irq(9),pch_vbus_gpio_init(9),pch_vbus_gpio_free(9) - Request + DMA chain helpers πΈ β
complete_req(9),empty_req_queue(9),pch_udc_free_dma_chain(9),pch_udc_create_dma_chain(9),prepare_dma(9),process_zlp(9),pch_udc_start_rxrequest(9) - The pcd endpoint API π β
pch_udc_pcd_ep_enable(9),pch_udc_pcd_ep_disable(9),pch_udc_alloc_request(9),pch_udc_free_request(9),pch_udc_pcd_queue(9),pch_udc_pcd_dequeue(9),pch_udc_pcd_set_halt(9),pch_udc_pcd_set_wedge(9),pch_udc_pcd_fifo_flush(9) - Transfer + service routines, lowkey the whole plot π β
pch_udc_init_setup_buff(9),pch_udc_start_next_txrequest(9),pch_udc_complete_transfer(9),pch_udc_complete_receiver(9),pch_udc_svc_data_in(9),pch_udc_svc_data_out(9),pch_udc_svc_control_in(9),pch_udc_svc_control_out(9),pch_udc_read_all_epstatus(9),pch_udc_activate_control_ep(9) - Interrupt service royalty β β
pch_udc_svc_ur_interrupt(9),pch_udc_svc_enum_interrupt(9),pch_udc_svc_intf_interrupt(9),pch_udc_svc_cfg_interrupt(9),pch_udc_dev_isr(9),pch_udc_isr(9) - Setup + reinit + dma pool starters π¦ β
pch_udc_setup_ep0(9),pch_udc_pcd_reinit(9),pch_udc_pcd_init(9),init_dma_pools(9)
iykyk β if you're poking around in ./drivers/usb/gadget/udc/pch_udc.c, this whole list is literally your reading list. go be nosy, bestie π
And that's the page, babes π«Ά it comes to you from ./drivers/usb/gadget/udc and it's dated October 2026 β so like, save the date, mwah πβ¨
π¦ 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