STRUCT TI_SCI_MSG_REQ_LPM_SET_LATENCY_CONSTRAINT(9)
π struct ti_sci_msg_req_lpm_set_latency_constraint π
okay so bestie, we're in the Kernel API Manual and today's main character is struct ti_sci_msg_req_lpm_set_latency_constraint(9) β literally the request struct for TISCI_MSG_LPM_SET_LATENCY_CONSTRAINT. say it with me now: low power mode, but make it polite. π¦
β¨ NAME β¨
struct ti_sci_msg_req_lpm_set_latency_constraint β Request for TISCI_MSG_LPM_SET_LATENCY_CONSTRAINT.
π SYNOPSIS π
struct ti_sci_msg_req_lpm_set_latency_constraint {
struct ti_sci_msg_hdr hdr;
u16 latency;
u8 state;
u32 rsvd;
};
look at her. immaculate. no notes. π
πΈ Members πΈ
hdrβ the TISCI header, whose whole job is carrying the ACK/NAK flags back to the host. tiny but booked and busy.latencyβ the maximum acceptable latency to wake up from low power mode, in milliseconds. and the tea is: the deeper the state, the higher the latency. so pick your number accordingly, bestie. π«Άstateβ the desired state of the wakeup latency constraint: set or clear.rsvdβ reserved for future use. she's just vibing in the background, do not touch her. π
π₯ Description π₯
This message is what a host sends to set the wakeup latency from low power mode. It's giving "I have needs and I'm communicating them."
Timing check, because this part matters: this can be sent anytime after boot before the prepare sleep message, and it can also be sent after the current low power mode is exited. π
Any device can set a constraint on the low power mode that the SoC can enter. It allows configurable information to be easily shared from the application β because this is a non-secure message, so literally anyone can send it. no gatekeeping, no velvet rope. the constraint is communal. π
By setting a wakeup latency constraint, the host ensures that the resume time from the selected low power mode will be less than the constraint value. that's the whole promise. that's the slay. β
bestie reminder: it's a non-secure message that anyone can send β that's not a bug, that's just how this one is designed. π
π§ SEE ALSO π§
Kernel file ./drivers/firmware/ti_sci.h β and like, the entire extended universe of TISCI structs. we stan a connected ecosystem:
struct ti_sci_msg_hdr(9)struct ti_sci_msg_resp_version(9)struct ti_sci_msg_req_reboot(9)struct ti_sci_msg_resp_query_fw_caps(9)struct ti_sci_msg_req_set_device_state(9)struct ti_sci_msg_req_get_device_state(9)struct ti_sci_msg_resp_get_device_state(9)struct ti_sci_msg_req_set_device_resets(9)struct ti_sci_msg_req_set_clock_state(9)struct ti_sci_msg_req_get_clock_state(9)struct ti_sci_msg_resp_get_clock_state(9)struct ti_sci_msg_req_set_clock_parent(9)struct ti_sci_msg_req_get_clock_parent(9)struct ti_sci_msg_resp_get_clock_parent(9)struct ti_sci_msg_req_get_clock_num_parents(9)struct ti_sci_msg_resp_get_clock_num_parents(9)struct ti_sci_msg_req_query_clock_freq(9)struct ti_sci_msg_resp_query_clock_freq(9)struct ti_sci_msg_req_set_clock_freq(9)struct ti_sci_msg_req_get_clock_freq(9)struct ti_sci_msg_resp_get_clock_freq(9)struct ti_sci_msg_req_prepare_sleep(9)struct ti_sci_msg_req_set_io_isolation(9)struct ti_sci_msg_resp_lpm_wake_reason(9)struct ti_sci_msg_req_lpm_set_device_constraint(9)struct ti_sci_msg_req_get_resource_range(9)struct ti_sci_msg_resp_get_resource_range(9)struct ti_sci_msg_req_manage_irq(9)struct ti_sci_msg_rm_ring_cfg_req(9)struct ti_sci_msg_psil_pair(9)struct ti_sci_msg_psil_unpair(9)struct ti_sci_msg_udmap_rx_flow_cfg(9)struct rm_ti_sci_msg_udmap_rx_flow_opt_cfg(9)struct ti_sci_msg_rm_udmap_tx_ch_cfg_req(9)struct ti_sci_msg_rm_udmap_rx_ch_cfg_req(9)struct ti_sci_msg_rm_udmap_flow_cfg_req(9)struct ti_sci_msg_req_proc_request(9)struct ti_sci_msg_req_proc_release(9)struct ti_sci_msg_req_proc_handover(9)struct ti_sci_msg_req_set_config(9)struct ti_sci_msg_req_set_ctrl(9)struct ti_sci_msg_req_get_status(9)struct ti_sci_msg_resp_get_status(9)
okay that's the whole page, no cap, every single struct accounted for. π«‘
and now the lil sign-off: this one lives in ./drivers/firmware, it's dated October 2026, and yes, the title at the bottom is still struct ti_sci_msg_req_lpm_set_latency_constraint(9) because she contains multitudes. 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