STRUCT TI_SCI_MSG_REQ_LPM_SET_DEVICE_CONSTRAINT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ti_sci_msg_req_lpm_set_device_constraint(9) πŸ’–

okay bestie, welcome to this Kernel API Manual page for the struct ti_sci_msg_req_lpm_set_device_constraint request ✨. It’s the struct behind TISCI_MSG_LPM_SET_DEVICE_CONSTRAINT, and yes it’s giving very low-power-main-character energy πŸ”₯.


🌸 NAME 🌸

struct ti_sci_msg_req_lpm_set_device_constraint β€” Request for TISCI_MSG_LPM_SET_DEVICE_CONSTRAINT. πŸ’…


✨ SYNOPSIS ✨

Here’s the struct in all its exact-shape glory:

       struct ti_sci_msg_req_lpm_set_device_constraint {
           struct ti_sci_msg_hdr hdr;
           u32 id;
           u8 state;
           u32 rsvd[2];
        };

πŸŽ€ Members πŸŽ€

  • hdr β€” TISCI header to provide ACK/NAK flags to the host. 🫢
  • id β€” Device ID of device whose constraint has to be modified. πŸ†”
  • state β€” The desired state of device constraint: set or clear. πŸ”„
  • rsvd β€” Reserved for future use. πŸ™ˆ

πŸ’… Description πŸ’…

This message is used by host to set constraint on the device πŸ› οΈ. It can be sent anytime after boot before prepare sleep message. 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, as this is a non-secure message and therefore can be sent by anyone. By setting a constraint, the device ensures that it will not be powered off or reset in the selected mode. πŸ‘‘

⚠️ Note: Access Restriction: Exclusivity flag of Device will be honored. If some other host already has constraint on this device ID, NACK will be returned. 😭

🌈 SEE ALSO 🌈

Kernel file ./drivers/firmware/ti_sci.h β€” and the whole iconic reference lineup is:

  • 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_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 tea, bestie! The footer’s source/version was ./drivers/firmware, and the date was October 2026 β€” iconic, no cap πŸ’–βœ¨

πŸ“¦ where this page comes from