scp_ipi_send(9)
π scp_ipi_send(9) β like, the Kernel API Manual, bestie π
okay so we're doing a deep dive into scp_ipi_send today, and honestly? she's kind of a big deal in the Kernel API Manual. This is the function that yeets data from the AP over to the SCP. main character energy fr fr π«Ά
β¨ NAME β¨
scp_ipi_send β send data from AP to scp. that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
int scp_ipi_send (struct mtk_scp *scp , u32 id , const void *buf ,
unsigned int len , unsigned int wait );
look at her. iconic signature. no notes. π
π¦ ARGUMENTS π¦
scpβ themtk_scpstructure. yes bestie, you gotta hand her the whole struct π«Άidβ the IPI ID. it's giving "which mailbox is this going to" πbufβ the data buffer. this is the actual payload, the moment, the content πlenβ the data buffer length. gotta tell her how much you're sending, no cap β¨waitβ number of msecs to wait for ack.0to skip waiting. zero means zero patience, we love a boundaries queen π
π₯ DESCRIPTION π₯
Okay so real talk: this function is thread-safe. Multiple threads can call her and she will NOT be messy about it. icon behaviour π
When this function returns, SCP has received the data and starts the processing. like, the handoff is DONE, the data is literally there, SCP is already on it. β
When the processing completes, the IPI handler registered by scp_ipi_register will be called in interrupt context. so heads up: interrupt context, bestie β keep that in mind for whatever you register in there π
π RETURN π
0if sending data successfully β slay, it worked π-erroron error β iykyk, something went sideways π
π§ SEE ALSO π§
Kernel file ./drivers/remoteproc/mtk_scp_ipi.c plus her besties:
go read those too, they're all part of the friend group π«Ά
and that's the whole page, bestie β every flag, every value, every return code, all present and accounted for. no details were harmed in the making of this rewrite π
so yeah, that's scp_ipi_send(9) from the Kernel API Manual, brought to you by ./drivers/remoteproc in October 2026 π stay safe, ship good code, and remember: interrupt context is NOT the place to be doing the most. 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