rpmh_rsc_pd_callback(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

Hiii bestie πŸ’– welcome to this Kernel API Manual page for rpmh_rsc_pd_callback(9) β€” yes, the function that checks if any of the AMCs are busy. Lowkey iconic, ngl. Let’s get into it ✨

🌸 NAME 🌸

  • rpmh_rsc_pd_callback β€” check if any of the AMCs are busy.

✨ SYNOPSIS ✨

int rpmh_rsc_pd_callback (struct notifier_block *nfb , unsigned long
       action , void *v );

πŸŽ€ ARGUMENTS πŸŽ€

  • nfb β€” pointer to the genpd notifier block in struct rsc_drv. That’s the hookup, bestie.
  • action β€” GENPD_NOTIFY_PRE_OFF, GENPD_NOTIFY_OFF, GENPD_NOTIFY_PRE_ON or GENPD_NOTIFY_ON. Pick your notification moment.
  • v β€” unused. Literally just vibing there.

πŸ’… DESCRIPTION πŸ’…

Okay so this function is given to dev_pm_genpd_add_notifier so we can be informed about when cluster-pd is going down. When cluster go down, we know no more active transfers will be started, so we write sleep/wake sets. This function gets called from cpuidle code paths and also at system suspend time. The way that it’s always on call is very main character energy.

If AMCs are not busy then it writes cached sleep and wake messages to TCSes. The firmware then takes care of triggering them when entering deepest low power modes. Periodt.

πŸ”₯ RETURN πŸ”₯

  • NOTIFY_OK β€” success.
  • NOTIFY_BAD β€” failure.

Those are the two moods, and yes, failure is not the vibe.

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/soc/qcom/rpmh-rsc.c β€” and the whole friend group is tcs_invalidate(9), 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). iykyk πŸ’™


Ok bye bestie 🫢 this iconic page is from source ./drivers/soc/qcom, dated October 2026, and it’s literally the rpmh_rsc_pd_callback(9) era. πŸ’–βœ¨

πŸ“¦ where this page comes from