STRUCT PP_CONTROL_OFFSET(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pp_control_offset(9)

okay so this is the struct pp_control_offset page from the Kernel API Manual β€” yes, that Kernel API Manual, bestie, the one with the nine in parentheses πŸŽ€


✨ NAME ✨

struct pp_control_offset β€” literally just the offsets for SST PP controls. that's the whole vibe. iykyk πŸ¦‹


✨ SYNOPSIS ✨

here's the struct, character for character, do not touch:

struct pp_control_offset {
    u64 perf_level :3;
    u64 perf_level_lock :1;
    u64 resvd0 :4;
    u64 current_state :8;
    u64 reserved :48;
 };

look at those bitfields. look at them. so tidy. so iconic πŸ‘‘


✨ Members ✨

  • perf_level β€” a SST-PP level that SW intends to switch to. it's giving "we're going somewhere" ✨ (three whole bits of ambition)
  • perf_level_lock β€” the SST-PP level select lock. 0 - unlocked. 1 - locked till next reset. so if you set it to 1, it's committed, no take-backs until the next reset, periodt πŸ’…
  • resvd0 β€” reserved for future use. it's a lil waiting room for future features πŸŽ€ don't touch it, it's not for you yet
  • current_state β€” a bit mask that controls the enable(1)/disable(0) state of each feature of the current PP level. bit 0 = BF, bit 1 = TF, bit 2-7 = reserved. little switches for everything, one per bit, so satisfying πŸ¦‹
  • reserved β€” reserved for future use. 48 bits of pure untouched potential. main character energy but off-screen 🌸

✨ Description ✨

so this structure is used to store the offsets of SST PP controls in the register bank 🏦 and it's packed to the same format as defined in the specifications β€” meaning the layout is not a suggestion, it's the spec, don't go rearranging the bits, bestie, that's how you get bugs at 3am 😭


✨ SEE ALSO ✨

Kernel file

./drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c

and the whole friend group β€” these structs/functions all show up together, go say hi πŸ‘‹

  • struct sst_header(9)
  • struct cp_header(9)
  • struct pp_header(9)
  • struct feature_offset(9)
  • struct levels_offset(9)
  • struct pp_status_offset(9)
  • struct perf_level(9)
  • struct tpmi_per_power_domain_info(9)
  • struct tpmi_sst_struct(9)
  • struct tpmi_sst_common_struct(9)
  • map_cdies(9)
  • map_partition_power_domain_id(9)

🫢 reminder: the reserved fields are reserved. i know you want to use them. don't. future-you will thank you πŸ’€

and that's the page!! shipped straight out of ./drivers/platform/x86/intel/s..., dated October 2026, and titled β€” say it with me β€” struct pp_control_offset(9) πŸŒˆπŸ’– slay

πŸ“¦ where this page comes from