STRUCT TCS_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME β€” struct tcs_cmd(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual page for struct tcs_cmd(9) β€” and struct tcs_cmd is literally an individual request to RPMH. iconic little request behavior ✨

πŸ¦‹ SYNOPSIS πŸ¦‹

struct tcs_cmd {
    u32 addr;
    u32 data;
    u32 wait;
 };

πŸ’… Members πŸ’…

  • addr β€” the address of the resource slv_id:18:16 | offset:0:15. location, location, location ✨
  • data β€” the resource state request. the actual ask πŸ‘‘
  • wait β€” ensure that this command is complete before returning. wait means wait, bestie ⏳

okay so setting wait here only makes sense during rpmh_write_batch for active-only transfers, this is because:

  • rpmh_write β€” Always waits. (DEFINE_RPMH_MSG_ONSTACK will set .wait_for_compl) always waits, no cap πŸ•°οΈ
  • rpmh_write_async β€” Never waits. (There's no request completion callback) never waits, periodt πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./include/soc/qcom/tcs.h
  • struct tcs_request(9)

okay bye bestie, this cutie lives in ./include/soc/qcom, October 2026 edition, and it’s the struct tcs_cmd(9) page β€” mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from