STRUCT TI_SCI_MSG_REQ_SET_DEVICE_STATE(9)
π struct ti_sci_msg_req_set_device_state(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β this is the page for struct ti_sci_msg_req_set_device_state(9), and it's literally the whole "tell a device what vibe it should be in" message. let's get into it π
πΈ NAME πΈ
struct ti_sci_msg_req_set_device_state β Set the desired state of the device π«Ά
β¨ SYNOPSIS β¨
struct ti_sci_msg_req_set_device_state {
#define MSG_FLAG_DEVICE_WAKE_ENABLED TI_SCI_MSG_FLAG(8);
#define MSG_FLAG_DEVICE_RESET_ISO TI_SCI_MSG_FLAG(9);
#define MSG_FLAG_DEVICE_EXCLUSIVE TI_SCI_MSG_FLAG(10);
struct ti_sci_msg_hdr hdr;
u32 id;
u32 reserved;
#define MSG_DEVICE_SW_STATE_AUTO_OFF 0;
#define MSG_DEVICE_SW_STATE_RETENTION 1;
#define MSG_DEVICE_SW_STATE_ON 2;
u8 state;
};
look at her. impeccable. no notes. π
π MEMBERS π
hdrβ the generic header π§ (everybody's got one, it's giving "hello, i'm a message")idβ Indicates which device to modify π―reservedβ Reserved space in message, must be 0 for backward compatibility π don't be cute, leave it as0stateβ The desired state of the device. π
π₯ DESCRIPTION π₯
Certain flags can also be set to alter the device state: π«
MSG_FLAG_DEVICE_WAKE_ENABLEDβ Configure the device to be a wake source. The meaning of this flag will vary slightly from device to device and from SoC to SoC π but it generally allows the device to wake the SoC out of deep suspend states. βMSG_FLAG_DEVICE_RESET_ISOβ Enable reset isolation for this device. π‘οΈMSG_FLAG_DEVICE_EXCLUSIVEβ Claim this device exclusively. When passed withSTATE_RETENTIONorSTATE_ON, it will claim the device exclusively. If another host already has this device set toSTATE_RETENTIONorSTATE_ON, the message will fail. β Once successful, other hosts attempting to setSTATE_RETENTIONorSTATE_ONwill fail. π like, it's your device now, no cap.
Request type is TI_SCI_MSG_SET_DEVICE_STATE, responded with a generic ACK/NACK message. β
/π« (the original "it's giving binary" moment)
π¦ SEE ALSO π¦
Kernel file ./drivers/firmware/ti_sci.h β and the whole 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_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_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)
and that's the page!! this came from ./drivers/firmware, dated October 2026, and the header up top was struct ti_sc...device_state(9) β yes the terminal truncates it, she's mysterious like that π β¨ stay hydrated, read your structs, 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