STRUCT TI_SCI_PM_OPS(9)
π struct ti_sci_pm_ops(9) π
okay so bestie, welcome to the Kernel API Manual β yes that's the whole manual name, we're fancy like that β¨ β and today's main character is struct ti_sci_pm_ops, aka the Low Power Mode (LPM) control operations squad. think of it as the friend group that decides when your SoC goes to sleep π΄ and, more importantly, who's allowed to wake it up π
πΈ NAME πΈ
struct ti_sci_pm_ops β Low Power Mode (LPM) control operations. that's it, that's the vibe π«Ά
β¨ SYNOPSIS β¨
like, literally the whole struct, no cap:
struct ti_sci_pm_ops {
int (*lpm_wake_reason)(const struct ti_sci_handle *handle, u32
*source, u64 *timestamp, u8 *pin, u8 *mode);
int (*set_device_constraint)(const struct ti_sci_handle *handle, u32
id, u8 state);
int (*set_latency_constraint)(const struct ti_sci_handle *handle,
u16 latency, u8 state);
};
π Members π
three function pointers, each one a whole personality:
lpm_wake_reasonβ this one's the detective π it gets you the wake up source that woke the SoC from LPM. like, "who disturbed my nap??" energy fr fr.source: The wake up source that woke soc from LPM.timestamp: Timestamp at which soc woke.
set_device_constraintβ sets an LPM constraint on behalf of a device π«‘ advocating for your device's sleep rights.id: Device Identifierstate: The desired state of device constraint: set or clear.
set_latency_constraintβ sets the LPM resume latency constraint β±οΈ i.e. how fast you gotta be able to wake up from low power mode, no exceptions.latency: maximum acceptable latency to wake up from low power modestate: The desired state of latency constraint: set or clear.
π¦ SEE ALSO π¦
the whole extended friend group lives in the kernel file ./include/linux/soc/ti/ti_sci_protocol.h β go say hi π
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_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_proc_ops(9)struct ti_sci_ops(9)struct ti_sci_handle(9)struct ti_sci_resource(9)
aaaaand that's the page!! π sourced straight from ./include/linux/soc/ti, dated October 2026 β so go forth, constrain those latencies, and remember: waking the SoC is a privilege, not a right π
π mwah π«Ά
π¦ 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