STRUCT MT7615_UNI_TXD(9)
π struct mt7615_uni_txd(9)
okay bestie, so this is a page straight out of the Kernel API Manual β struct mt7615_uni_txd, no cap. It's the mcu command descriptor for firmware v3, and honestly? she's kind of iconic. let's get into it π
β¨ NAME β¨
struct mt7615_uni_txd β the mcu command descriptor for firmware v3, periodt π
πΈ SYNOPSIS πΈ
struct mt7615_uni_txd {
__le32 txd[8];
__le16 len;
__le16 cid;
u8 reserved;
u8 pkt_type;
u8 frag_n;
u8 seq;
__le16 checksum;
u8 s2d_index;
u8 option;
u8 reserved2[4];
};
like, that's the whole layout. memorize it or don't, but she's giving main character energy fr fr π¦
π Members π
okay so let's meet the cast, one by one, no skipping π«Ά
txdβ the hardware descriptor. literally the hardware's business, not ours πlenβ total length, and bestie listen: this does not includetxd. not even a little. βcidβ command identifier. her whole job is telling you which command this is πpkt_typeβ must be0xa0. that's a cmd packet by long format, and there's no negotiating on this one πfrag_nβ fragment number πΈseqβ sequence number, keeping things in order like the icon she is π₯checksumβ a value of0means there is no checksum, iykyk πs2d_indexβ the index for command source and destination. Definition time, so pay attention π:
| value | note |
|---|---|
CMD_S2D_IDX_H2N | 0x00 β command from HOST to WM |
CMD_S2D_IDX_C2N | 0x01 β command from WA to WM |
CMD_S2D_IDX_H2C | 0x02 β command from HOST to WA |
CMD_S2D_IDX_H2N_AND_H2C | 0x03 β command from HOST to WA and WM |
optionβ the command option, and she's got bits, so let's break it down:- BIT[0]:
UNI_CMD_OPT_BIT_ACKβ set to1to request a fw reply. and here's the cute part: ifUNI_CMD_OPT_BIT_0_ACKis set andUNI_CMD_OPT_BIT_2_SET_QUERYis set, the mcu firmware will send a response eventEID = 0x01(UNI_EVENT_ID_CMD_RESULT) to the host. slay β - BIT[1]:
UNI_CMD_OPT_BIT_UNI_CMDβ0: original command,1: unified command π¦ - BIT[2]:
UNI_CMD_OPT_BIT_SET_QUERYβ0: QUERY command,1: SET command π
- BIT[0]:
also she's gotreservedandreserved2[4]hangin' out in the struct β they're in the layout up there, so don't act surprised π
π SEE ALSO π
- Kernel file
./drivers/net/wireless/mediatek/mt76/mt7615/mcu.hβ go read it, bestie, it's right there π
and that's the whole vibe check, bestie π§ this little gem lives over at ./drivers/net/wireless/mediate... in the source, dated October 2026, and the page itself is struct mt7615_uni_txd(9) β go forth and configure your firmware v3 commands, you absolute legend ππ
π¦ 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