scmi_raw_message_receive(9)
π scmi_raw_message_receive β like, the kernel API manual manual, bestie β¨
okay so picture this: you're deep in the ARM SCMI raw-mode trenches and you need the next message. This is your girl. π
β¨ NAME β¨
scmi_raw_message_receive β a little helper (the manpage literally calls it "An helper", iconic) whose whole job is to dequeue and report the next available enqueued raw message payload that has been collected. That's it. That's the gig. π«Ά
πΈ SYNOPSIS πΈ
int scmi_raw_message_receive (struct scmi_raw_mode_info *raw , void *buf
, size_t len , size_t *size , unsigned int idx , unsigned int chan_id ,
bool o_nonblock );
no cap, that's the whole signature. six things plus a bool, we love a tidy function π
π¦ ARGUMENTS π¦
okay so here's the vibe check on every single param, and yes we're doing all of them:
rawβ a reference to the Raw instance. your entry point, your main character. πbufβ a buffer that gets hold of the whole SCMI message received, represented in little-endian binary format (specifylittle-endianin your head with feeling, it matters). πlenβ length ofbuf. i.e., how much roombufactually has. don't lie about this one please πsizeβ the effective size of the message copied intobuf. solenis what you offered,sizeis what you actually got. lowkey the most useful output here. β¨idxβ the index of the queue to pick the next queued message from. yes queen, there are multiple queues. πchan_idβ the channel ID to use. pick your lane.o_nonblockβ a flag requesting a non-blocking message dequeue. set it and she will not sit there waiting on you. πββοΈ
π₯ RETURN π₯
0on Success β
that's it. that's the return value. 0 means slay, go home. (the source page only promises this one, so we're not out here inventing error codes fr fr β iykyk π)
π SEE ALSO π
the whole group chat, in the order the page lists them:
- Kernel file
./drivers/firmware/arm_scmi/raw_mode.cβ this is where the actual lore lives π Theory of operation(9)β read this first, bestie, it's giving prerequisite πΈstruct scmi_raw_queue(9)struct scmi_raw_mode_info(9)struct scmi_xfer_raw_waiter(9)struct scmi_raw_buffer(9)struct scmi_dbg_raw_data(9)scmi_xfer_raw_worker(9)scmi_xfer_raw_get_init(9)scmi_do_xfer_raw_start(9)scmi_raw_message_send(9)β the send-side sister π«Άscmi_raw_mode_init(9)scmi_raw_mode_cleanup(9)β the "we're so done here" one π§Ήscmi_raw_message_report(9)scmi_raw_error_report(9)
π reminder for the girlies: this is a helper for dequeuing an already-collected raw payload. It reports what's enqueued β it does not go out and fetch the message for you. That's the whole plot. π
and that's the page!! π¦ straight from ./drivers/firmware/arm_scmi, dated October 2026, and the whole thing answers to the name scmi_raw_message_receive(9). 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