scp_ipi_send(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 β€” the mtk_scp structure. 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. 0 to 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 🌈

  • 0 if sending data successfully β€” slay, it worked πŸ’…
  • -error on 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