STRUCT CDNSP_EP_CTX(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

โœจ NAME โœจ

struct cdnsp_ep_ctx(9) โ€” okay so this is the Kernel API Manual page for struct cdnsp_ep_ctx, and yes, the NAME line is literally just that. No extra subtitle energy here, bestie. ๐Ÿ’…


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

       struct cdnsp_ep_ctx {
           __le32 ep_info;
           __le32 ep_info2;
           __le64 deq;
           __le32 tx_info;
           __le32 reserved[3];
        };

๐Ÿ’– Members ๐Ÿ’–

  • ep_info โ€” endpoint state, streams, mult, and interval information. Itโ€™s giving โ€œall the endpoint state teaโ€ โ˜•โœจ
  • ep_info2 โ€” info on endpoint type, max packet size, max burst size, error count, and whether the controller will force an event for all transactions. Lowkey a whole little info hub in one field.
  • deq โ€” 64-bit ring dequeue pointer address. If the endpoint only defines one stream, this points to the endpoint transfer ring. Otherwise, it points to a stream context array, which has a ring pointer for each flow. So yeah, one-stream girlies get the direct ring; multi-stream besties get the whole array ๐Ÿ’ซ
  • tx_info โ€” average TRB lengths for the endpoint ring and max payload within an Endpoint Service Interval Time (ESIT). Periodt.

๐ŸŒธ Description ๐ŸŒธ

Endpoint Context โ€” this assumes the controller uses 32-byte context structures.

If the controller uses 64-byte contexts, there is an additional 32 bytes reserved at the end of the endpoint context for controller internal use. Ngl, thatโ€™s the vibe: bigger context, extra reserved space, controller keeps it for itself ๐Ÿ™ˆ


๐Ÿ”ฎ SEE ALSO ๐Ÿ”ฎ

Kernel file: ./drivers/usb/cdns3/cdnsp-gadget.h โ€” and hereโ€™s the whole friend group:

  • 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_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_td(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)

mwah ๐Ÿ’– source/version flex: ./drivers/usb/cdns3, date: October 2026, and the footer is literally struct cdnsp_ep_ctx(9) โ€” iconic, no cap. ๐ŸŽ€

๐Ÿ“ฆ where this page comes from