STRUCT WCN36XX_DXE_DESC(9)
π struct wcn36xx_dxe_desc(9) π
okay bestie, welcome to the Kernel API Manual β¨ β this is the page for struct wcn36xx_dxe_desc, and it's literally just one struct but it's kind of a big deal. It describes the descriptor of one DXE buffer. That's the whole vibe. Let's get into it π
π NAME π
struct wcn36xx_dxe_desc β describes descriptor of one DXE buffer. yes that's it, that's the name, no notes π«Ά
πΈ SYNOPSIS πΈ
here's the whole thing, bestie, laid out exactly as it lives in the kernel:
struct wcn36xx_dxe_desc {
u32 ctrl;
u32 fr_len;
u32 src_addr_l;
u32 dst_addr_l;
u32 phy_next_l;
u32 src_addr_h;
u32 dst_addr_h;
u32 phy_next_h;
};
like, eight u32s and then one of them is doing a lot of heavy lifting. main character energy fr fr π
β¨ Members β¨
ctrlβ ok so this one is the icon, the moment, the whole personality. It's aunionmade up of the following bits, and I'm giving you the receipts verbatim because every single bit matters:
union { u32 valid :1; //0 = DMA stop, 1 = DMA continue with this
//descriptor
u32 transfer_type :2; //0 = Host to Host space
u32 eop :1; //End of Packet
u32 bd_handling :1; //if transferType = Host to BMU, then 0
// means first 128 bytes contain BD, and 1
// means create new empty BD
u32 siq :1; // SIQ
u32 diq :1; // DIQ
u32 pdu_rel :1; //0 = don't release BD and PDUs when done,
// 1 = release them
u32 bthld_sel :4; //BMU Threshold Select
u32 prio :3; //Specifies the priority level to use for
// the transfer
u32 stop_channel :1; //1 = DMA stops processing further, channel
//requires re-enabling after this
u32 intr :1; //Interrupt on Descriptor Done
u32 rsvd :1; //reserved
u32 size :14;//14 bits used - ignored for BMU transfers,
//only used for host to host transfers?
} ctrl;
fr_lenβ a member, and honestly the original doesn't say a single word more about it here. no description, no lore, nothing π go read the kernel file if you want the tea.src_addr_lβ listed as a member, that's all the docs give us. it's giving "figure it out" πdst_addr_lβ member. no writeup. slay anyway πphy_next_lβ member, no extra detail in this page.src_addr_hβ member, no extra detail in this page.dst_addr_hβ member, no extra detail in this page.phy_next_hβ member, and that's the last one. no extra detail here either β¨
lowkey the vibes of this page are "the ctrl union ate and the rest of the members are just standing there" β but hey, they're all still listed, nothing's getting left out on my watch π«Ά
π₯ SEE ALSO π₯
- Kernel file
./drivers/net/wireless/ath/wcn36xx/dxe.hβ that's where the real source of truth lives, bestie. go look π
and that's the page!! π¦ big kiss, mwah π β this was struct wcn36xx_dxe_desc(9) from the Kernel API Manual, pulled from source ./drivers/net/wireless/ath/wcn..., dated October 2026. 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