STRUCT OCTEON_HCD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct octeon_hcd - the state of the USB block. That’s the whole assignment, bestie: this is the state of the USB block, and we’re about to get into every field like it’s a group-chat screenshot. This page comes from the Kernel API Manual, and the main character is struct octeon_hcd(9) πŸ’…βœ¨

✨ SYNOPSIS ✨

struct octeon_hcd {
    spinlock_t lock;
    int init_flags;
    int index;
    int idle_hardware_channels;
    union cvmx_usbcx_hprt usbcx_hprt;
    struct cvmx_usb_pipe *pipe_for_channel[MAX_CHANNELS];
    int indent;
    struct cvmx_usb_port_status port_status;
    struct list_head idle_pipes;
    struct list_head active_pipes[4];
    u64 frame_number;
    struct cvmx_usb_transaction *active_split;
    struct cvmx_usb_tx_fifo periodic;
    struct cvmx_usb_tx_fifo nonperiodic;
    struct hrtimer sof_timer;
};

πŸŽ€ Members πŸŽ€

Okay so the page lists these member blurbs, and we are not skipping a single one β€” every detail stays, no cap πŸ’–

🌸 Description 🌸

  • lock β€” Serialization lock. Lock it down, bestie.
  • init_flags β€” Flags passed to initialize.
  • index β€” Which USB block this is for.
  • idle_hardware_channels β€” Bit set for every idle hardware channel.
  • usbcx_hprt β€” Stored port status so we don’t need to read a CSR to determine splits.
  • pipe_for_channel β€” Map channels to pipes.
  • pipe β€” Storage for pipes. Yes, the page lists this one too β€” keeping it exactly as given.
  • indent β€” Used by debug output to indent functions.
  • port_status β€” Last port status used for change notification.
  • idle_pipes β€” List of open pipes that have no transactions.
  • active_pipes β€” Active pipes indexed by transfer type.
  • frame_number β€” Increments every SOF interrupt for time keeping.
  • active_split β€” Points to the current active split, or NULL.

Quick note, bestie: the struct block also has periodic, nonperiodic, and sof_timer, but the page doesn’t give member blurbs for those, so I’m not inventing anything β€” we keep it factual, periodt πŸ’…

πŸ”₯ SEE ALSO πŸ”₯


That’s the whole page, bestie 🫢 Source/version is <source>./drivers/usb/host</source>, dated <date>October 2026</date>, and this was struct octeon_hcd(9) from the Kernel API Manual β€” every detail ate and left no crumbs πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from