STRUCT TI_SCI_PROC_OPS(9)
πΈ struct ti_sci_proc_ops(9) β Processor Control operations πΈ
okay bestie, welcome to the Kernel API Manual β¨ this one's all about the Processor Control operations struct β think of it as the little squad of function pointers that lets you boss a physical processor around π
β¨ SYNOPSIS β¨
struct ti_sci_proc_ops {
int (*request)(const struct ti_sci_handle *handle, u8 pid);
int (*release)(const struct ti_sci_handle *handle, u8 pid);
int (*handover)(const struct ti_sci_handle *handle, u8 pid, u8 hid);
int (*set_config)(const struct ti_sci_handle *handle, u8 pid, u64 boot_vector, u32 cfg_set, u32 cfg_clr);
int (*set_control)(const struct ti_sci_handle *handle, u8 pid, u32 ctrl_set, u32 ctrl_clr);
int (*get_status)(const struct ti_sci_handle *handle, u8 pid, u64 *boot_vector, u32 *cfg_flags, u32 *ctrl_flags, u32 *status_flags);
};
it's giving "six little function pointers, one big vibe check" π«Ά every single one of them takes a const struct ti_sci_handle *handle and a u8 pid, no cap π
π Members π
requestβ ask to take control of a physical processor. lowkey important: the requesting host should be in the processor access list β no sneaking in, bestie πreleaseβ give up control of a physical processor. bye-bye, handing back the keys πhandoverβ pass a physical processor's control over to another host in the permitted list. sharing is caring, but only if they're on the list β¨set_configβ set the base configuration of a processor. the whole foundation, the main character energy of processor setup πset_controlβ set up limited control flags in specific cases. read that again β limited, specific cases, iykyk πget_statusβ get the state of a physical processor. the vibe check of the whole struct, fr fr π₯
π NOTE π
the following parameters are generic in nature for all these ops β like, every single one of them hits the same little crew π§
-handle: Pointer to TI SCI handle as retrieved by *ti_sci_get_handle
-pid: Processor ID
-hid: Host ID
so yeah β -handle, -pid, -hid, that's the trio bestie π (and yeah, -handle comes from *ti_sci_get_handle, don't lose it πΈ)
π¦ SEE ALSO π¦
Kernel file ./include/linux/soc/ti/ti_sci_protocol.h β literally the source of truth, go look π
struct ti_sci_version_info(9)struct ti_sci_core_ops(9)struct ti_sci_dev_ops(9)struct ti_sci_clk_ops(9)struct ti_sci_pm_ops(9)struct ti_sci_resource_desc(9)struct ti_sci_rm_core_ops(9)struct ti_sci_rm_irq_ops(9)struct ti_sci_msg_rm_ring_cfg(9)struct ti_sci_rm_ringacc_ops(9)struct ti_sci_rm_psil_ops(9)struct ti_sci_rm_udmap_ops(9)struct ti_sci_ops(9)struct ti_sci_handle(9)struct ti_sci_resource(9)
and that's the whole thing, bestie π source lives over at ./include/linux/soc/ti, dated October 2026 β 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