acpm_set_xfer(9)
π acpm_set_xfer(9) β from the Kernel API Manual, bestie
okay so picture this: you're deep in the kernel, you've got a command you NEED to send to the ACPM firmware, and you're standing there like π§ββοΈ holding a raw struct with zero clue what goes in it. that's literally this function's whole job. acpm_set_xfer sets up β initializes, if we're being fancy β an ACPM IPC transfer structure. it fills in the blanks so the rest of the pipeline knows where your command lives and whether anyone's expecting a text back. π
β¨ SYNOPSIS β¨
void acpm_set_xfer (struct acpm_xfer *xfer , u32 *cmd , size_t cmdcnt ,
unsigned int acpm_chan_id , bool response );
returns nothing (void), which honestly? iconic. it just does the thing and dips. π«Ά
π ARGUMENTS π
xferβ pointer to the ACPM transfer structure that's getting initialized. this is the main character of the operation, bestie. it's the thing you're filling in. β¨cmdβ pointer to the buffer holding the command you're transmitting to the ACPM firmware. your actual message. the ~content~. πcmdcntβ length of that command, measured in 32-bit words. note the unit, ngl, it's words not bytes, so don't come at it withsizeofand vibes only. πacpm_chan_idβ the mailbox channel identifier. basically which door you're knocking on. πͺresponseβ boolean flag saying whether the kernel expects the ACPM firmware to send a reply to this specific command.true= you're waiting by the phone π,false= you said what you said and you're moving on π
fr fr β if response doesn't match what you actually expect back, that's a you problem, so think it through before you set it.
π SEE ALSO π
- Kernel file
./drivers/firmware/samsung/exynos-acpm.c struct acpm_shmem(9)struct acpm_chan_shmem(9)struct acpm_queue(9)struct acpm_rx_data(9)struct acpm_chan(9)struct acpm_info(9)struct acpm_match_data(9)acpm_get_saved_rx(9)acpm_get_rx(9)acpm_dequeue_by_polling(9)acpm_wait_for_queue_slots(9)acpm_prepare_xfer(9)acpm_wait_for_message_response(9)acpm_do_xfer(9)acpm_chan_shmem_get_params(9)acpm_achan_alloc_cmds(9)acpm_free_mbox_chans(9)acpm_channels_init(9)acpm_handle_put(9)devm_acpm_release(9)acpm_get_by_node(9)devm_acpm_get_by_node(9)devm_acpm_get_by_phandle(9)
like, that's the whole friend group right there. go read them, they're all connected, iykyk. π
mwah π that's the page β brought to you by the fine folks over in ./drivers/firmware/samsung, dated October 2026, and yes the manual really does say acpm_set_xfer(9) twice because branding. slay. π
π¦ 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