STRUCT XE_GUC_PC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct xe_guc_pc β€” GuC Power Conservation (PC), bestie πŸ’…


🌸 SYNOPSIS 🌸

okay so here's the whole vibe, literally the entire struct, no cap:

struct xe_guc_pc {
    struct xe_bo *bo;
    atomic_t flush_freq_limit;
    u32 rp0_freq;
    u32 rpn_freq;
    u32 user_requested_min;
    u32 user_requested_max;
    u32 stashed_min_freq;
    u32 stashed_max_freq;
    struct mutex freq_lock;
    bool freq_ready;
    u32 power_profile;
 };

πŸŽ€ Members πŸŽ€

this is the part where we meet the whole squad, one member at a time 🫢
  • bo β€” the GGTT buffer object that's shared with GuC PC. it's giving "we literally share this, it's ours" energy πŸ’–
  • flush_freq_limit β€” it's 1 when max freq changes are limited by the driver. so like, 1 = the driver's got the freq changes on a leash πŸ¦‹
  • rp0_freq β€” HW RP0 frequency β€” the Maximum one. the main character of frequencies πŸ‘‘
  • rpn_freq β€” HW RPN frequency β€” the Minimum one. the humble icon holding it down at the bottom 🌸
  • user_requested_min β€” stashes the minimum requested freq by the user. we remember what you asked for, always πŸ™ˆ
  • user_requested_max β€” stashes the maximum requested freq by the user. same deal, we're keeping receipts πŸ“
  • stashed_min_freq β€” stashes the current minimum freq. it's stashed. it's current. it's minimum πŸ’œ
  • stashed_max_freq β€” stashes the current maximum freq. the max one, safely stashed away πŸŽ€
  • freq_lock β€” "Let's protect the frequencies." that's literally the whole description and honestly? iconic. a struct mutex doing its bodyguard thing πŸ”₯
  • freq_ready β€” only handle freq changes if they're really ready. no pushing things through before they're ready, we don't do that here ✨
  • power_profile β€” Base or power_saving profile. pick your vibe, bestie ⭐

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/gpu/drm/xe/xe_guc_pc_types.h β€” go read it, iykyk πŸ’…

okay that's the whole page, you ate that fr fr πŸ“ this was ./drivers/gpu/drm/xe, October 2026, and it's literally titled struct xe_guc_pc(9) β€” go off, bestie πŸ§šπŸ’œ

πŸ“¦ where this page comes from