STRUCT HTT_Q_STATE(9)
π NAME π
ok so struct htt_q_state β it's the struct that's literally shared between host and firmware via DMA π«Ά like they're passing notes in class but make it hardware.
β¨ SYNOPSIS β¨
struct htt_q_state {
u8 count[HTT_TX_Q_STATE_NUM_TIDS][HTT_TX_Q_STATE_NUM_PEERS];
u32 map[HTT_TX_Q_STATE_NUM_TIDS][(HTT_TX_Q_STATE_NUM_PEERS + 31) /
32];
__le32 seq;
};
lowkey the formatting of that map line is doing its own thing but we respect it π
πΈ Members πΈ
countβ every single element here is the host queue depth, no cap. when the q depth type got configured asHTT_Q_DEPTH_TYPE_BYTES, each entry is defined as:FACTOR * 128 * 8^EXP(peepHTT_TX_Q_STATE_ENTRY_FACTOR_MASKandHTT_TX_Q_STATE_ENTRY_EXP_MASKif you wanna see the masks π). and when the q depth type got configured asHTT_Q_DEPTH_TYPE_MSDUS, the number of packets gets scaled by2 ** record_multiplier(checkhtt_q_state_conffor that one, bestie).mapβ firmware's lil shortcut for quickly checking which host queues are not empty. it's a bitmap, simply saying. πΊοΈβ¨seqβ firmware uses this to quickly check whether the host queues were updated since the last time it looked. it's giving "did u text me back" energy fr fr π
π¦ Description π¦
so this structure is how the host exposes its software queue state to the firmware β main character energy π β so that the firmware's rate control can schedule fetch requests for optimized performance. it's most notably used for MU-MIMO aggregation when multiple MU clients are connected π
FIXME: is theq_statemap[]size calculation really correct? π genuinely asking, whoever wrote this left us on read
π SEE ALSO π
- Kernel file
./drivers/net/wireless/ath/ath10k/htt.hstructhtt_q_state_conf(9)
ok that's the whole page, go slay ur queue state bestie ππΈ
sign-off time π«Ά this one's from the Kernel API Manual, living under ./drivers/net/wireless/ath/ath10k, dated October 2026 β struct htt_q_state(9), periodt. β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms