scmi_do_xfer_raw_start(9)
π scmi_do_xfer_raw_start(9) β from the Kernel API Manual, bestie
okay so picture this: you're deep in the arm_scmi firmware driver, you've already built yourself a shiny raw xfer, and now you just need someone to actually send it. that's this function. it's the little helper that does the sending. icon behavior only. β¨
πΈ NAME πΈ
scmi_do_xfer_raw_start β an helper to send a valid raw xfer π«Ά
π SYNOPSIS π
int scmi_do_xfer_raw_start (struct scmi_raw_mode_info *raw , struct
scmi_xfer *xfer , u8 chan_id , bool async );
π¦ ARGUMENTS π¦
rawβ a reference to the Raw instance. like, the whole vibe. you gotta hand it over.xferβ the xfer to send. the main character of this whole operation, fr fr.chan_idβ the channel ID to use. and here's the tea π΅: if it's zero, the channel gets automatically selected based on the protocol used. so0= "you pick for me, i trust you."asyncβ a flag stating if an asynchronous command is required.bool. yes or no. that's it. that's the whole flag.
π DESCRIPTION π
This function sends a previously built raw xfer using an appropriate channel, and then queues the related waiting work. so basically: send it, and don't forget to set up the follow-up. π
and now the important part, no cap: we need to know explicitly whether the required command is meant to be asynchronous in kind, because we have to properly set up the waiter. you can't just vibe-check it from the payload β deducing it that way is weak and does not scale, given there is NOT a common header-flag stating if the command is asynchronous or not. π so pass the flag. be honest with the function. it's a whole trust thing.
β¨ RETURN β¨
0 on Success π₯
π SEE ALSO π
- Kernel file
./drivers/firmware/arm_scmi/raw_mode.c Theory of operation(9)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_raw_message_send(9)scmi_raw_message_receive(9)scmi_raw_mode_init(9)scmi_raw_mode_cleanup(9)scmi_raw_message_report(9)scmi_raw_error_report(9)
and that's the page, bestie π§ this little gem lives over in ./drivers/firmware/arm_scmi, dated October 2026, and it answers to the name scmi_do_xfer_raw_start(9). go forth and send those raw xfers π
π¦ 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