STRUCT PMC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct pmc(9) β€” like, the whole Kernel API Manual tea πŸ’…

okay so bestie, buckle up πŸŽ€ we're diving into struct pmc, which is literally the private info structure for a pmc. it's not scary, i promise β€” it's giving "small struct, big main character energy" 🌟


🌸 SYNOPSIS

here's the whole vibe, verbatim, no cap:

struct pmc {
    u64 base_addr;
    void __iomem *regbase;
    const struct pmc_reg_map *map;
    u32 *lpm_req_regs;
    u32 ltr_ign;
    u8 num_lpm_modes;
    u8 lpm_en_modes[LPM_MAX_NUM_MODES];
    u16 devid;
 };

look at her. iconic. πŸ’–


πŸ¦‹ Members

  • base_addr β€” holds the pmc base address. that's it, that's the address. πŸ“
  • regbase β€” pointer to the io-remapped memory location. yes, remapped. she's been places. πŸ—ΊοΈ
  • map β€” pointer to a pmc_reg_map struct that contains the platform-specific attributes. every platform's got its own little personality, and this is where it lives 🫢
  • lpm_req_regs β€” the list of substate requirements. lowkey a whole checklist. πŸ“
  • ltr_ign β€” holds LTR ignore data while suspended. she's holding onto it for later, respectfully 😴
  • num_lpm_modes β€” count of enabled modes. just a number, but make it fashion πŸ”’
  • lpm_en_modes β€” array of enabled modes, from lowest to highest priority. ordered. organized. obsessed. πŸ‘‘
  • devid β€” Device ID of the SSRAM device. say hi to the SSRAM device for me πŸ“

πŸ’œ Description

pmc contains info about one power management controller device. that's the whole thing! one device, one struct, one little home for all her data 🏠✨ fr fr.


🌈 SEE ALSO

  • Kernel file ./drivers/platform/x86/intel/pmc/core.h struct pmc_reg_map(9), struct pmc_info(9), struct pmc_dev(9), struct pmc_dev_info(9)

go read the whole friend group, they're all linked πŸ’…πŸ”—


and that's the page, bestie 🧚 this little manual moment came from ./drivers/platform/x86/intel/pmc, dated October 2026 β€” struct pmc(9), slay πŸ’–βœ¨

πŸ“¦ where this page comes from