ath9k_hw_updatetxtriglevel(9)
π ath9k_hw_updatetxtriglevel π
okay so bestie, this is a page from the Kernel API Manual β it's ath9k_hw_updatetxtriglevel(9) and honestly it's giving "niche wireless driver internals that will absolutely come up in a job interview" vibes. let's get into it β¨
πΈ NAME πΈ
ath9k_hw_updatetxtriglevel β adjusts the frame trigger level π
π¦ SYNOPSIS π¦
bool ath9k_hw_updatetxtriglevel (struct ath_hw *ah , bool bIncTrigLevel
);
like, that's the whole signature. it returns a bool and takes two args, no cap. π
β¨ ARGUMENTS β¨
ahβ the atheros hardware struct π«Ά this is your hardware bestie, the thing you're poking at.bIncTrigLevelβ whether or not the frame trigger level should be updated. literally that's it, that's the whole bool. β
π₯ DESCRIPTION π₯
okay so the frame trigger level β sit down for this one β specifies the minimum number of bytes, measured in units of 64 bytes, that must be DMA'ed into the PCU TX FIFO before the PCU will initiate sending the frame on the air. π
and the way that matters? it can mean we initiate transmit before a full frame is on the PCU TX FIFO. yeah. iconically chaotic. it resets to 0x1 β meaning 64 bytes or a full frame, whichever occurs first π
β οΈ caution must be taken here, fr fr. you have to set the frame trigger level based on the DMA request size. for example, if the DMA request size is set to128bytes, the trigger level cannot exceed6 * 64 = 384. why? because there need to be enough space in the tx FIFO for the requested transfer size. hence the tx FIFO will stop with512 - 128 = 384bytes. and if we set the threshold to a value beyond6? the transmit will hang. π not cute. not the move.
current dual stream devices have a PCU TX FIFO size of 8 KB. current single stream devices have a PCU TX FIFO size of 4 KB β however π there is a hardware issue which forces us to use 2 KB instead, so the frame trigger level must not exceed 2 KB for these chipsets. no cap, that's just the rules. π§
π SEE ALSO π
- Kernel file
./drivers/net/wireless/ath/ath9k/mac.cβ go read it, iykyk π
and that's the whole page bestie, you ate that π«Ά source + version from ./drivers/net/wireless/ath/ath9k, dated October 2026, signing off as ath9k_hw_updatetxtriglevel(9) β mwah ππβ¨
π¦ 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