STRUCT TI_SCI_MSG_REQ_PREPARE_SLEEP(9)
π struct ti_sci_msg_req_prepare_sleep(9) π
okay so bestie, welcome to the Kernel API Manual β yes we're reading kernel API docs together, this is our bonding activity now, don't fight it π«Ά
β¨ NAME β¨
struct ti_sci_msg_req_prepare_sleep β the Request for TISCI_MSG_PREPARE_SLEEP. that's it, that's the whole name, she's literally just a request struct and she's slaying π
πΈ SYNOPSIS πΈ
struct ti_sci_msg_req_prepare_sleep {
struct ti_sci_msg_hdr hdr;
#define TISCI_MSG_VALUE_SLEEP_MODE_PARTIAL_IO
0x03;
#define TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED
0xfd;
u8 mode;
u32 ctx_lo;
u32 ctx_hi;
u32 debug_flags;
};
no cap, those #defines are living rent-free right in the middle of the struct body and honestly? iconic. we don't question it, we just vibe check it and move on π¦
π Members π
hdrβ the TISCI header, and its whole job is to provide the ACK/NAK flags to the host. she's the group chat read receipt of the kernel, fr fr πmodeβ the Low power mode to enter. this is the main character of the whole struct ngl πctx_loβ the Low 32-bits of the physical pointer to the address to use for context save. yes low, like, half of it, the little spoon π₯ctx_hiβ the High 32-bits of the physical pointer to the address to use for context save. the big spoon. together they are one (1) full address π«Άdebug_flagsβ Flags that can be set to halt the sequence during suspend or resume to allow JTAG connection and debug. like a little pause button for debugging, we love a flexible queen β
π Description π
so this message is used as the first step of entering a low power mode β think of it as the "hey bestie we're about to nap" text before the actual nap π΄
it allows configurable information, including which state to enter, to be easily shared from the application. and here's the part that's lowkey important: this is a non-secure message, and therefore it can be sent by anyone π₯
not me pointing out that anyone can send it π like yes it's by design, that's literally the point, but bestie please know what you're sending π
π SEE ALSO π
Kernel file ./drivers/firmware/ti_sci.h, and literally the entire extended friend group:
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_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_lpm_set_latency_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)
like ma'am that is a whole contact list, she knows everyone at the function πβ¨
and that's the whole page bestie, mwah π this little gem lives in ./drivers/firmware, dated October 2026, and it's filed under struct ti_sci_msg_req_prepare_sleep(9) β go take a nap, you earned it π΄π
π¦ 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