STRUCT SCMI_OPTEE_CHANNEL(9)
β¨ NAME β¨
okay so bestie, welcome to the Kernel API Manual (section 9, we're fancy π
) β this page is all about struct scmi_optee_channel, which is literally the description of an OP-TEE SCMI channel. that's it, that's the vibe π
πΈ SYNOPSIS πΈ
here's the whole struct, character for character, no cap:
struct scmi_optee_channel {
u32 channel_id;
u32 tee_session;
u32 caps;
u32 rx_len;
struct mutex mu;
struct scmi_chan_info *cinfo;
union {
struct scmi_shared_mem __iomem *shmem;
struct scmi_msg_payld *msg;
} req;
struct scmi_shmem_io_ops *io_ops;
struct tee_shm *tee_shm;
struct list_head link;
};
like, look at her. main character struct energy fr fr π
π¦ MEMBERS π¦
okay now let's go field by field, because every single one of these matters and i'm not skipping a single one π
channel_idβ the OP-TEE channel ID that this transport is using. her personal little id badge πͺͺtee_sessionβ the TEE session identifier. yep, the session, the whole session π«Άcapsβ the OP-TEE SCMI channel capabilities. all the things she's capable of β¨rx_lenβ the response size. how big the reply is gonna be πmuβ a mutex protecting access to the channel. no two people in this dressing room at once, periodt πcinfoβ the SCMI channel information. the whole info situation π«reqβ a union for the SCMI interface. choose your fighter π₯req.shmemβ the virtual base address of the shared memory. where the shared memory actually lives πreq.msgβ the shared memory protocol handle for the SCMI request and the synchronous response. request in, response out, matched set πio_opsβ the transport-specific I/O operations. the I/O operations, but make them specific to the transport π§tee_shmβ the TEE shared memory handlereq, orNULLif it's using IOMEM shmem. yes, either/or, don't come for me πlinkβ a reference in the agent's channel list. she's on the list, obviously π
β SEE ALSO β
- the kernel file
./drivers/firmware/arm_scmi/transports/optee.cβ go read it, i'll wait π struct scmi_optee_agent(9)β her bestie, go say hi π«Ά
lowkey reminder: this whole page is from the Kernel API Manual, source/version is ./drivers/firmware/arm_scmi/tr... and it's stamped October 2026. mwah, love u, go read your kernel source ππ
struct scmi_optee_channel(9) β she ate and left no crumbs ππ
π¦ 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