STRUCT MT7615_UNI_TXD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 include txd. not even a little. ⭐
  • cid β€” command identifier. her whole job is telling you which command this is πŸŽ€
  • pkt_type β€” must be 0xa0. 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 of 0 means there is no checksum, iykyk πŸ’€
  • s2d_index β€” the index for command source and destination. Definition time, so pay attention πŸ‘€:
valuenote
CMD_S2D_IDX_H2N0x00 β€” command from HOST to WM
CMD_S2D_IDX_C2N0x01 β€” command from WA to WM
CMD_S2D_IDX_H2C0x02 β€” command from HOST to WA
CMD_S2D_IDX_H2N_AND_H2C0x03 β€” 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 to 1 to request a fw reply. and here's the cute part: if UNI_CMD_OPT_BIT_0_ACK is set and UNI_CMD_OPT_BIT_2_SET_QUERY is set, the mcu firmware will send a response event EID = 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 🌈
also she's got reserved and reserved2[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