STRUCT SLIM_MSG_TXN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’Œ NAME

struct slim_msg_txn β€” the actual message your controller sends out πŸš€ it's got the packet header, the payload, and a buffer that still needs filling (if there even is one), all bundled up in one struct πŸ’…

✨ SYNOPSIS

struct slim_msg_txn {
    u8 rl;
    u8 mt;
    u8 mc;
    u8 dt;
    u16 ec;
    u8 tid;
    u8 la;
    struct slim_val_inf     *msg;
    struct completion      *comp;
 };

🫢 MEMBERS

okay bestie, field by field, no skips πŸ‘‘

  • rl β€” header field, and it's the remaining length. yes, remaining length, that's the whole vibe πŸŽ€
  • mc β€” header field, the message type. literally what kind of message this is ✨
  • mc β€” header field. its LSB is the message code for the type mt. lowkey the most important bit of the header ngl πŸ’…
  • dt β€” header field, destination type. where this thing is headed πŸ¦‹
  • ec β€” element code. this one's for the elemental access APIs 🌸
  • tid β€” transaction ID, used for messages that expect a response (relevant for message codes involving a read operation). think of it as the group-chat thread ID so the reply knows where to land πŸ“²
  • la β€” logical address of the device this message is going to. quick note: it is not used when the destination type is broadcast 🫢
  • msg β€” the elemental access message that gets read or written. the actual payload, the main character πŸ’–
  • comp β€” the completion, if the read/write is synchronous. it's used internally for tid-based transactions πŸ”₯
fr fr just remember: header fields up top, payload and completion down below, and broadcast doesn't care about la at all πŸ™ˆ

πŸ‘€ SEE ALSO

kernel file ./drivers/slimbus/slimbus.h, plus the whole slim squad, go say hi πŸ‘‹: struct slim_framer(9), enum slim_clk_state(9), struct slim_sched(9), enum slim_port_direction(9), enum slim_port_state(9), enum slim_channel_state(9), enum slim_ch_data_fmt(9), enum slim_ch_aux_bit_fmt(9), struct slim_channel(9), struct slim_port(9), enum slim_transport_protocol(9), struct slim_stream_runtime(9), struct slim_controller(9)


and that's the page, bestie πŸ§šπŸ’œ this whole thing lives over in ./drivers/slimbus and it's dated October 2026 β€” slay, go build something iconic 🌈⭐

πŸ“¦ where this page comes from