tcs_invalidate(9)
π NAME π
okay so bestie, meet tcs_invalidate β this is the tcs_invalidate(9) page from the Kernel API Manual, and it has exactly one iconic job: invalidate all the TCSes of the type you hand it, whether thatβs sleep or wake. Periodt. π
β¨ SYNOPSIS β¨
void tcs_invalidate (struct rsc_drv *drv , int type );
π«Ά ARGUMENTS π«Ά
drvβ the RSC controller. main character hardware controller energy.typeβ literally one ofSLEEP_TCSorWAKE_TCS. thatβs the vibe check. π¦
π DESCRIPTION π
okay so this is gonna clear the "slots" variable of the given tcs_group, and it also tells the hardware to forget about all entries. no cap, the hardware gets the full forget-everything memo. π₯
β οΈ big warning, bestie: the caller must make sure that no other RPMH actions are happening when this function is called. otherwise the device may immediately become used again even before this function exits. π so yeah, timing matters fr fr.
π₯ SEE ALSO π₯
Kernel file: ./drivers/soc/qcom/rpmh-rsc.c β and hereβs the whole friend group:
rpmh_rsc_invalidate(9)get_tcs_for_msg(9)get_req_from_tcs(9)__tcs_set_trigger(9)enable_tcs_irq(9)tcs_tx_done(9)__tcs_buffer_write(9)check_for_req_inflight(9)find_free_tcs(9)claim_tcs_for_req(9)rpmh_rsc_send_data(9)find_slots(9)rpmh_rsc_write_ctrl_data(9)rpmh_rsc_ctrlr_is_busy(9)rpmh_rsc_write_next_wakeup(9)rpmh_rsc_cpu_pm_callback(9)rpmh_rsc_pd_callback(9)
made with π from the ./drivers/soc/qcom source/version corner, stamped October 2026, and this whole page is tcs_invalidate(9) π«Άβ¨
π¦ 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