pmc_ssram_te...get_pmc_info(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

pmc_ssram_telemetry_get_pmc_info β€” okay so this one is literally just here to hand you a PMC's devid and base_addr, that's the whole vibe 🫢

Oh and hey β€” this is a page from the Kernel API Manual, section 9, bestie. Welcome to the kernel-adjacent corner of the group chat ✨


🌸 SYNOPSIS 🌸

int pmc_ssram_telemetry_get_pmc_info (unsigned int pmc_idx , struct
       pmc_ssram_telemetry *pmc_ssram_telemetry );

No cap, that's the whole signature. Two args, one int coming back at you πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • pmc_idx β€” the index of the PMC. which one do you want, bestie, pick a number πŸ¦‹
  • pmc_ssram_telemetry β€” a pmc_ssram_telemetry structure, and it's where the PMC info gets stored. it's giving "bring your own container" 🎁

✨ DESCRIPTION ✨

Okay so here's the tea β€” there's a little state machine running per PMC index, and you gotta know which state you're walking into before you go reading anything. vibe check time πŸ”

  • PMC_SSRAM_UNPROBED β€” nobody's even started probing this index yet. it's fresh out of the box, untouched, a blank slate 🌱
  • PMC_SSRAM_PROBING β€” probe is currently out here discovering data for this index. mid-quest, do not disturb πŸƒβ€β™€οΈπŸ’¨
  • PMC_SSRAM_PRESENT β€” slay!! base_addr/devid were published and you can read them. the data is live, go get it πŸ‘‘
  • PMC_SSRAM_ABSENT β€” no data available for this index. it's not here, it never showed up, it's not coming 😭

Now for the memory-ordering lore, because this part is actually important, no cap 🧠✨

Readers use an acquire load of the state. So if the state comes back PRESENT, your reads of base_addr/devid are ordered after that state observation β€” and they pair with the writer's release-store when it published PRESENT. It's giving a perfectly choreographed handoff 🀝 iykyk


πŸ”₯ RETURN πŸ”₯

  • 0 β€” success! we ate πŸ’…
  • -EAGAIN β€” the probe function has not finished yet. just try again, bestie, patience is a vibe πŸ™ˆ
  • -EINVAL β€” invalid pmc_idx. mm, that index is not it πŸ’€
  • -ENODEV β€” the PMC device is not available (hardware absent or the driver failed to initialize). literally not found, ghosted πŸ“

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/platform/x86/intel/pmc/ssram_telemetry.c β€” go read the source, it's iconic 🌈


kisses from the kernel πŸ’œ this page lives under ./drivers/platform/x86/intel/pmc, dated October 2026, and it's page pmc_ssram_telemetry_get_pmc_info(9) of the Kernel API Manual β€” go off, bestie, you got this πŸŽ€βœ¨

πŸ“¦ where this page comes from