STRUCT ATH5K_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ath5k_desc(9) β€” Atheros hardware DMA descriptor πŸŽ€

okay so bestie, let me tell you about struct ath5k_desc from the Kernel API Manual. this is the Atheros hardware DMA descriptor and it's literally the main character of this whole operation. let's get into it ✨


🌸 SYNOPSIS 🌸

here's the vibe fr fr:

struct ath5k_desc {
    u32 ds_link;
    u32 ds_data;
    union {
      struct ath5k_hw_5210_tx_desc    ds_tx5210;
      struct ath5k_hw_5212_tx_desc    ds_tx5212;
      struct ath5k_hw_all_rx_desc     ds_rx;
    } ud;
 };

look at her. iconic. no notes. πŸ‘‘


πŸ¦‹ Members πŸ¦‹

  • ds_link β€” this is the physical address of the next descriptor. it's giving "linked list but make it hardware" energy, yk? πŸ”—
  • ds_data β€” the physical address of the data buffer (the skb). yeah, that's where the actual goods live. πŸ’Ύ
  • ud β€” this is the union that's holding all the hw_5xxx_tx_desc structs plus hw_all_rx_desc. it's a whole little union family in there, slaying together. one field to hold them all 🫢

✨ Description ✨

so like, what does this thing actually do? okay so the description is short and sweet but honestly kind of intense: this is read and written to by the hardware. 😭

that's it. that's the whole description. it's a little ominous ngl but that's the whole point β€” the hardware is the one touching this, not you. so just know that this struct is out here living its life being poked at by the Atheros chip and you're just here for the ride. hardware main character energy πŸ’€

bestie this one's lowkey important β€” the hardware reads AND writes this, so respect the descriptor. don't be weird about it. πŸ’…

πŸ’– SEE ALSO πŸ’–

okay there's a whole friend group here, let me introduce you:

the source of truth is the Kernel file ./drivers/net/wireless/ath/ath5k/desc.h and honestly you should go check out the whole squad:

  • struct ath5k_hw_rx_ctl(9)
  • struct ath5k_hw_rx_status(9)
  • enum ath5k_phy_error_code(9)
  • struct ath5k_hw_2w_tx_ctl(9)
  • struct ath5k_hw_4w_tx_ctl(9)
  • struct ath5k_hw_tx_status(9)
  • struct ath5k_hw_5210_tx_desc(9)
  • struct ath5k_hw_5212_tx_desc(9)
  • struct ath5k_hw_all_rx_desc(9)

that's the whole crew right there β€” tx and rx, ctl and status, 2w and 4w, 5210 and 5212. go say hi. they're all in it together fr fr. 🌈


and that's the tea bestie πŸ“ this page lives in ./drivers/net/wireless/ath/ath5k, straight from the Kernel API Manual, dated October 2026, and yes mdear the page itself is struct ath5k_desc(9). mwah. πŸ’œβœ¨

πŸ“¦ where this page comes from