STRUCT DMA_CHANNEL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct dma_channel - A DMA channel. okay so this is the Kernel API Manual page for it, bestie β€” literally a DMA channel, and the vibes are immaculate. 🫢

✨ SYNOPSIS ✨

here's the struct in all its iconic glory, copied exactly so you can trust it:

struct dma_channel {
    void *private_data;
    size_t max_len;
    size_t actual_len;
    enum dma_channel_status status;
    bool desired_mode;
    bool rx_packet_done;
 };

🫢 MEMBERS 🫢

okay these are the fields, and each one is doing its own little main-character thing:

  • private_data β€” channel-private data. it's giving "just for this channel" energy, iykyk. πŸ’…
  • max_len β€” the maximum number of bytes the channel can move in one transaction (typically representing many USB maximum-sized packets). no cap, that's the ceiling. πŸ”₯
  • actual_len β€” how many bytes have been transferred. the receipts, basically. 🧾
  • status β€” current channel status (updated e.g. on interrupt). so it's the live vibe check. ⭐
  • desired_mode β€” true if mode 1 is desired; false if mode 0 is desired. binary queen behavior. πŸ‘‘

🌸 DESCRIPTION 🌸

channels are associated with an endpoint for the duration of at least one usb transfer. that's the tea β€” an endpoint and a channel are linked for at least one usb transfer. periodt. πŸ¦‹

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/usb/musb/musb_dma.h and struct dma_controller(9) β€” that's the cross-reference, bestie. πŸ‘€

mwah πŸ’‹ this page is from ./drivers/usb/musb, October 2026, and it's all about struct dma_channel(9) β€” periodt. πŸŽ€

πŸ“¦ where this page comes from