STRUCT SCMI_MSG_HDR(9)
π struct scmi_msg_hdr(9) β the Kernel API Manual, bestie β¨
okay so picture this: it's a page from the Kernel API Manual, section 9, and it's literally just about one little struct. and honestly? she's iconic. it's the header that every SCMI message (Tx and Rx, both directions, no cap) carries around with it π
πΈ NAME πΈ
struct scmi_msg_hdr β the Message(Tx/Rx) header. that's it, that's the whole vibe π¦
β¨ SYNOPSIS β¨
here's the whole glow-up, copied exactly, do not @ me:
struct scmi_msg_hdr {
u8 id;
u8 protocol_id;
u8 type;
u16 seq;
u32 status;
bool poll_completion;
};
π Members π
okay bestie, let's go field by field, because every single one of these matters:
idβ the identifier of the message being sent π₯protocol_idβ the identifier of the protocol used to sendidmessage. yes, she needs to know which protocol is doing the sending π§typeβ the SCMI type for this message βseqβ the token to identify the message. and here's the cute part: when a message returns, the platform returns the whole message header unmodified, token included π«Ά like it literally hands it back exactly how it got it, no edits, no notes, nothing πstatusβ status of the transfer once it's complete. she tells you how it went πpoll_completionβ indicates if the transfer needs to be polled for completion, or if interrupt mode is used. one or the other, bestie, pick your lane πΈ
π SEE ALSO π
go read these next, i promise they're worth it:
Kernel file ./drivers/firmware/arm_scmi/protocols.h struct scmi_msg_resp_prot_version(9), struct scmi_msg(9), struct scmi_xfer(9), struct scmi_protocol_handle(9), struct scmi_iterator_state(9), struct scmi_iterator_ops(9), struct scmi_proto_helpers_ops(9), struct scmi_xfer_ops(9), struct scmi_protocol(9)
ngl the whole friend group is listed above and they all live over in ./drivers/firmware/arm_scmi β go say hi π
and that's the page, periodt π this cutie came from the source in ./drivers/firmware/arm_scmi, dated October 2026, and she answers to the name struct scmi_msg_hdr(9) π mwah, go read some kernel code π§ββοΈ
π¦ 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