STRUCT PMC_DEV_INFO(9)
π struct pmc_dev_info(9) π
okay so bestie, welcome to the Kernel API Manual β this is the page for struct pmc_dev_info, which is literally the structure that keeps all the PMC device info together. like it's the lil filing cabinet for everything the driver needs to know about a PMC device ποΈβ¨
πΈ SYNOPSIS πΈ
struct pmc_dev_info {
u32 *dmu_guids;
u32 pc_guid;
u32 pkgc_ltr_blocker_offset;
u32 pkgc_blocker_offset;
u8 num_pmcs;
const u8 *pmc_list;
struct pmc_info *regmap_list;
const struct pmc_reg_map *map;
const struct file_operations *sub_req_show;
const char **pkgc_ltr_blocker_counters;
const char **pkgc_blocker_counters;
void (*suspend)(struct pmc_dev *pmcdev);
int (*resume)(struct pmc_dev *pmcdev);
int (*init)(struct pmc_dev *pmcdev, struct pmc_dev_info
*pmc_dev_info);
int (*sub_req)(struct pmc_dev *pmcdev, struct pmc *pmc, struct
telem_endpoint *ep);
bool ssram_hidden;
u32 die_c6_offset;
};
that's the whole layout, no cap β every field stays exactly where it is π«Ά
π Members π
dmu_guidsβ the list of Die Management Unit GUIDs. like a guest list for the DMU party πpc_guidβ the GUID for the telemetry region we read PKGC blocker info from πpkgc_ltr_blocker_offsetβ offset to the PKGC LTR blockers, inside that telemetry regionpkgc_blocker_offsetβ offset to the PKGC blocker, also inside the telemetry regionnum_pmcsβ how many entries live inpmc_list. the headcount, basically π’pmc_listβ index list of the PMCs that are availableregmap_listβ pointer to a list ofpmc_infostructures that could be available for the platform. when this field is set, it implies SSRAM support β¨ (iykyk)mapβ pointer to apmc_reg_mapstruct holding the platform specific attributes of the primary PMC πsub_req_showβ file operations used to show substate requirementspkgc_ltr_blocker_countersβ array of PKGC LTR blocker counterspkgc_blocker_countersβ array of PKGC blocker counterssuspendβ function that does the platform specific suspend π΄resumeβ function that does the platform specific resume βοΈinitβ function that does the platform specific init action πsub_reqβ function to achieve the low power mode substate requirements β‘ssram_hiddenβ some SSRAM devices are hidden on this platform πdie_c6_offsetβ telemetry offset used to read Die C6 residency
π¦ SEE ALSO π¦
- Kernel file
./drivers/platform/x86/intel/pmc/core.h struct pmc_reg_map(9)struct pmc_info(9)struct pmc(9)struct pmc_dev(9)
go read those next bestie, they're all part of the same little friend group fr fr π«Ά
okay that's the whole page, mwah π β this one lives in ./drivers/platform/x86/intel/pmc and it's dated October 2026, and the header up top calls it struct pmc_dev_info(9). slay, you're done, go touch some grass π±π
π¦ 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