ath5k_hw_start_tx_dma(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ath5k_hw_start_tx_dma β€” the Kernel API Manual page, bestie edition

Okay so real talk, this is a page from the Kernel API Manual, and it's all about ath5k_hw_start_tx_dma. Buckle up, it's actually not scary 🫢


✨ NAME ✨

ath5k_hw_start_tx_dma β€” start DMA transmit for a specific queue πŸ’«


πŸŽ€ SYNOPSIS πŸŽ€

int ath5k_hw_start_tx_dma (struct ath5k_hw *ah , unsigned int queue );

That's it, that's the whole vibe check. You hand it a chip and a queue number, it gives you back an int. Slay.


🌸 ARGUMENTS 🌸

  • ah β€” the struct ath5k_hw, i.e. your main character. The hardware struct. Obviously.
  • queue β€” the hw queue number πŸ‘‘ literally just which queue you're pointing at.

πŸ¦‹ DESCRIPTION πŸ¦‹

So what does it do? It starts DMA transmit for a specific queue. Easy.

But here's the tea β˜• β€” 5210 doesn't have QCU/DCU, so for that chip you set up the queue parameters right here, inside this function, based on queue type. And the queue types are:

  • one queue for normal data πŸ“¦
  • one queue for beacons πŸ””

For queue setup on the newer chips, go check out qcu.c instead, iykyk.

It returns -EINVAL if the queue number is out of range β€” or, plot twist, if the queue is already disabled. Yeah. Already disabled. Not a typo, that's what it says πŸ™ˆ


⭐ NOTE ⭐

Bestie, listen. This one must be called after setting up the tx control descriptor for that queue (see below). Order matters, fr fr. Don't come at it out of sequence.

🌈 SEE ALSO 🌈

That's the whole squad 🧚 go read them, they're all iconic.


And that's a wrap! This masterpiece lives in ./drivers/net/wireless/ath/ath5k, version dated October 2026 πŸ“ catch you in the next man page, mwah πŸ’œ

πŸ“¦ where this page comes from