STRUCT SCMI_SMC(9)
π struct scmi_smc(9) β like, the whole Kernel API Manual page, but make it make sense π«Ά
okay bestie, sit down, grab a strawberry π β this is the struct scmi_smc page from the Kernel API Manual, and it's literally the glow-up of a struct: it's the thing that represents a SCMI smc transport β¨. no cap, that's the whole vibe. it's giving "tiny struct, main character energy" π
β¨ NAME β¨
struct scmi_smc β Structure representing a SCMI smc transport π¦
πΈ SYNOPSIS πΈ
here's the whole fit, laid out exactly, don't touch a single character bestie:
struct scmi_smc {
int irq;
struct scmi_chan_info *cinfo;
struct scmi_shared_mem __iomem *shmem;
struct scmi_shmem_io_ops *io_ops;
struct mutex shmem_lock;
#define INFLIGHT_NONE MSG_TOKEN_MAX;
atomic_t inflight;
unsigned long func_id;
unsigned long param_page;
unsigned long param_offset;
unsigned long cap_id;
};
like, obsessed with how tidy that is π
π¦ Members π¦
okay so now we go member by member, and every single one gets its moment β¨
irqβ an optional IRQ for completion. optional! she can show up, she can stay home, no pressure πcinfoβ SCMI channel info π‘shmemβ the Transmit/Receive shared memory area πio_opsβ transport specific I/O operations π§shmem_lockβ the lock that protects access to the Tx/Rx shared memory area. used when you're NOT operating in atomic mode πinflightβ an atomic flag that protects access to the Tx/Rx shared memory area. used when you are operating in atomic mode β‘func_idβ thesmc/hvccall function id πparam_pageβ the 4K page number of the shmem channel πparam_offsetβ the offset within the 4K page of the shmem channel πcap_idβ thesmc/hvcdoorbell's capability id, to be used on Qualcomm virtual platforms π
ngl, theshmem_lockvsinflightduality is highkey iconic β one for the non-atomic girlies, one for the atomic girlies, and they both protect the exact same Tx/Rx shared memory area. pick your lane, bestie π
π SEE ALSO π
- Kernel file
./drivers/firmware/arm_scmi/transports/smc.cπ«Ά
and that's the page!! fr fr, sourced straight from ./drivers/firmware/arm_scmi/tr... and dated October 2026, still out here being struct scmi_smc(9) and slaying πππ
π¦ 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