ti_sci_msg_c..._wake_reason(9)
π ti_sci_msg_cmd_lpm_wake_reason(9) β the Kernel API Manual moment π
okay so bestie, this is a page from the Kernel API Manual (yes, that manual, the ti_sci_msg_c..._wake_reason(9) one β the title got a lil truncated on the header, she's mysterious like that β¨). Lowkey she's the one who tells you what woke the SoC up after a nap in Low Power Mode. Main character energy fr fr.
β¨ NAME β¨
ti_sci_msg_cmd_lpm_wake_reason β literally just: Get the wakeup source from LPM. That's the whole vibe. The SoC was asleep, something poked it, and this function is the nosy bestie who finds out who. π
πΈ SYNOPSIS πΈ
int ti_sci_msg_cmd_lpm_wake_reason(const struct ti_sci_handle *handle,
u32 *source,
u64 *timestamp,
u8 *pin,
u8 *mode);
it's giving "five params, one tiny little int return" π«Ά ngl the signature ate.
π¦ ARGUMENTS π¦
okay so let's meet the cast π
handleβ Pointer to TI SCI handle. this is your VIP pass to the whole TI SCI situation, you literally cannot do anything without her.sourceβ The wakeup source that woke the SoC from LPM. like, what woke her up. the culprit. the main character of the wake event πtimestampβ Timestamp of the wakeup event. for the receipts π§Ύ so you know exactly when the drama went down.pinβ The pin that has triggered wake up. which lil pin did the poking π iconic behaviour honestly.modeβ The last entered low power mode. so you know how deep of a nap she was in before getting rudely awoken π΄
β οΈ heads up bestie: those are all pointers, so the function writes back into them. don't be passing no NULL nonsense and then acting surprised, iykyk π
β RETURN β
0 if all went well β¨ (slay, no notes), else it returns the appropriate error value π β so like, do check it. fr fr. she's not gonna sugarcoat it for you.
π SEE ALSO π
okay this is the part where the whole friend group shows up π and no I'm not skipping a single one, every name stays:
Kernel file ./drivers/firmware/ti_sci.c, struct ti_sci_xfer(9), struct ti_sci_xfers_info(9), struct ti_sci_desc(9), struct ti_sci_irq(9), struct ti_sci_info(9), ti_sci_debug_show(9), ti_sci_debugfs_create(9), ti_sci_dump_header_dbg(9), ti_sci_rx_callback(9), ti_sci_get_one_xfer(9), ti_sci_put_one_xfer(9), ti_sci_do_xfer(9), ti_sci_cmd_get_revision(9), ti_sci_is_response_ack(9), ti_sci_set_device_state(9), ti_sci_get_device_state(9), ti_sci_cmd_get_device(9), ti_sci_cmd_get_device_exclusive(9), ti_sci_cmd_idle_device(9), ti_sci_cmd_idle_device_exclusive(9), ti_sci_cmd_put_device(9), ti_sci_cmd_dev_is_valid(9), ti_sci_cmd_dev_get_clcnt(9), ti_sci_cmd_dev_is_idle(9), ti_sci_cmd_dev_is_stop(9), ti_sci_cmd_dev_is_on(9), ti_sci_cmd_dev_is_trans(9), ti_sci_cmd_set_device_resets(9), ti_sci_cmd_get_device_resets(9), ti_sci_set_clock_state(9), ti_sci_cmd_get_clock_state(9), ti_sci_cmd_get_clock(9), ti_sci_cmd_idle_clock(9), ti_sci_cmd_put_clock(9), ti_sci_cmd_clk_is_auto(9), ti_sci_cmd_clk_is_on(9), ti_sci_cmd_clk_is_off(9), ti_sci_cmd_clk_set_parent(9), ti_sci_cmd_clk_get_parent(9), ti_sci_cmd_clk_get_num_parents(9), ti_sci_cmd_clk_get_match_freq(9), ti_sci_cmd_clk_set_freq(9), ti_sci_cmd_clk_get_freq(9), ti_sci_cmd_prepare_sleep(9), ti_sci_msg_cmd_query_fw_caps(9), ti_sci_cmd_set_io_isolation(9), ti_sci_cmd_set_device_constraint(9), ti_sci_cmd_set_latency_constraint(9), ti_sci_cmd_lpm_abort(9), ti_sci_get_resource_range(9), ti_sci_cmd_get_resource_range(9), ti_sci_cmd_get_resource_range_from_shost(9), ti_sci_manage_irq(9), ti_sci_irq_hash(9), ti_sci_irq_equal(9), ti_sci_set_irq(9), ti_sci_free_irq(9), ti_sci_cmd_set_irq(9), ti_sci_cmd_set_event_map(9), ti_sci_cmd_free_irq(9), ti_sci_cmd_free_event_map(9), ti_sci_cmd_rm_ring_cfg(9), ti_sci_cmd_rm_psil_pair(9), ti_sci_cmd_rm_psil_unpair(9), ti_sci_cmd_rm_udmap_tx_ch_cfg(9), ti_sci_cmd_rm_udmap_rx_ch_cfg(9), ti_sci_cmd_rm_udmap_rx_flow_cfg(9), ti_sci_cmd_proc_request(9), ti_sci_cmd_proc_release(9), ti_sci_cmd_proc_handover(9), ti_sci_cmd_proc_set_config(9), ti_sci_cmd_proc_set_control(9), ti_sci_cmd_proc_get_status(9), ti_sci_get_handle(9), ti_sci_put_handle(9), devm_ti_sci_get_handle(9), ti_sci_get_by_phandle(9), devm_ti_sci_get_by_phandle(9), ti_sci_get_free_resource(9), ti_sci_release_resource(9), ti_sci_get_num_resources(9), devm_ti_sci_get_resource_sets(9), devm_ti_sci_get_of_resource(9), devm_ti_sci_get_resource(9)
like... that's the whole roster. every single one. no cap. π
and that's the page bestie π«Ά go read the source, it's all in ./drivers/firmware β this lil drop is from October 2026, so mark your calendar π
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