STRUCT CDNSP_TD(9)
π struct cdnsp_td(9) β the Kernel API Manual β¨
Bestie, welcome to struct cdnsp_td(9). This is the Transfer Descriptor object β literally the little main-character packet of paperwork that says "hey, here's a transfer, please make it happen." π
πΈ SYNOPSIS πΈ
struct cdnsp_td {
struct list_head td_list;
struct cdnsp_request *preq;
struct cdnsp_segment *start_seg;
union cdnsp_trb *first_trb;
union cdnsp_trb *last_trb;
struct cdnsp_segment *bounce_seg;
bool request_length_set;
bool drbl;
};
That's the whole glow-up. Now let's meet the members like it's a group chat intro. π«Ά
π MEMBERS π
td_listβ the lil' buddy that binds the TD together withep_ring->td_list. It's giving "I'm on the list, I belong here." πpreqβ the Request that's associated with this TD. Your TD's plus-one at the party. πstart_segβ the Segment that contains thefirst_trbin the TD. Where the whole thing kicks off.first_trbβ the First TRB for this TD. Iconic. The opener.last_trbβ the Last TRB related with this TD. The closer. The finale. π¦bounce_segβ the Bounce segment for this TD. Yes, it does parkour. β¨request_length_setβ theactual_lengthof the request has already been set. Already handled, no cap. βdrblβ the TD has been added to the HW scheduler β only for stream capable endpoints. That's the whole vibe check: no stream-capable endpoint, no drbl energy. π«Ά
Heads up bestie β in the original text these last two got squished together on one line. They're two separate members,request_length_setanddrbl, so I unsquished them for you. π
π SEE ALSO π
Kernel file ./drivers/usb/cdns3/cdnsp-gadget.h and the whole friend group, fr fr:
struct cdnsp_cap_regs(9)struct cdnsp_op_regs(9)struct cdnsp_port_regs(9)struct cdnsp_intr_reg(9)struct cdnsp_run_regs(9)struct cdnsp_rev_cap(9)struct cdnsp_doorbell_array(9)struct cdnsp_container_ctx(9)struct cdnsp_slot_ctx(9)struct cdnsp_ep_ctx(9)struct cdnsp_stream_info(9)struct cdnsp_ep(9)struct cdnsp_device_context_array(9)struct cdnsp_transfer_event(9)struct cdnsp_link_trb(9)struct cdnsp_event_cmd(9)struct cdnsp_segment(9)struct cdnsp_dequeue_state(9)struct cdnsp_ring(9)struct cdnsp_erst_entry(9)struct cdnsp_erst(9)struct cdnsp_request(9)struct cdnsp_port(9)struct cdnsp_device(9)next_request(9)
okay that's the whole page bestie, ty for reading, mwah π
This one came from ./drivers/usb/cdns3, dated October 2026, and it's filed under struct cdnsp_td(9) β periodt. π
π¦ 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