STRUCT RPMHPD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct rpmhpd(9) β€” the Kernel API Manual, bestie edition πŸ¦‹

okay so this is the Kernel API Manual page for struct rpmhpd, and it's literally the top level RPMh power domain resource data structure. no cap, that's the whole gig. let's get into it πŸ’…


✨ NAME ✨

struct rpmhpd β€” the top level RPMh power domain resource data structure. yes bestie, capital-T Top Level. she's the blueprint πŸŽ€


🌸 SYNOPSIS 🌸

struct rpmhpd {
    struct device   *dev;
    struct generic_pm_domain pd;
    struct generic_pm_domain *parent;
    struct rpmhpd   *peer;
    const bool      active_only;
    unsigned int    corner;
    unsigned int    active_corner;
    unsigned int    enable_corner;
    u32 level[RPMH_ARC_MAX_LEVELS];
    size_t level_count;
    bool enabled;
    const char      *res_name;
    u32 addr;
    bool state_synced;
};

look at her. iconic. every field accounted for, nothing extra, nothing missing πŸ’–


πŸ”₯ Members πŸ”₯

  • dev β€” the rpmh power domain controller device. the main character device, the one everything answers to ✨
  • pd β€” the generic_pm_domain that corresponds to the power domain. her genpd glow-up πŸ’…
  • parent β€” the generic_pm_domain that corresponds to the parent's power domain. she's got lineage, periodt πŸ‘‘
  • peer β€” a peer power domain, in case Active only Voting is supported. like, she's got a buddy in the same situation 🫢
  • active_only β€” True if it represents an Active only peer. that's the whole vibe check on this one β€” active only, no sleeping 😴🚫
  • corner β€” current corner. literally just where she's at rn ⭐
  • active_corner β€” current active corner. same energy, but the active one 🌈
  • enable_corner β€” lowest non-zero corner. not zero, bestie β€” the lowEST non-zero πŸ“
  • level β€” an array of level (vlvl) to corner (hlvl) mappings derived from cmd-db. tiny translation table, huge responsibility πŸ’€
  • level_count β€” number of levels supported by the power domain. max being 16 (0 - 15). so like, count your levels but don't get carried away πŸŽ€
  • enabled β€” true if the power domain is enabled. simple as. on or off, no in-between 🌸
  • res_name β€” resource name used for cmd-db lookup. this is what you go looking with πŸ”
  • addr β€” resource address as looped up using resource name from cmd-db. no invented addresses here, she's derived 😌
  • state_synced β€” indicator that sync_state has been invoked for the rpmhpd resource. basically a "yes we've synced" lil flag 🧚
fr fr, that's all 14 members. none skipped, none merged, none "cleaned up". we keep every single one πŸ’–

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/pmdomain/qcom/rpmhpd.c β€” go read the source, iykyk πŸ“–

aaaand that's the page!! no notes, 10/10, ate and left no crumbs πŸ”₯

cute lil sign-off for you: this one came from ./drivers/pmdomain/qcom, dated October 2026, and she's officially struct rpmhpd(9). mwah πŸ’œπŸŒˆ

πŸ“¦ where this page comes from