STRUCT XE_FORCE_WAKE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct xe_force_wake(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual page for struct xe_force_wake β€” it's giving Xe force wake collection and we're gonna read it together like the iconic doc it is. πŸ’…


🌸 NAME 🌸

struct xe_force_wake β€” Xe force wake collection. no cap, that's the whole name.

πŸŽ€ SYNOPSIS πŸŽ€

       struct xe_force_wake {
           struct xe_gt *gt;
           spinlock_t lock;
           unsigned int awake_domains;
           unsigned int initialized_domains;
           struct xe_force_wake_domain domains[XE_FW_DOMAIN_ID_COUNT];
        };

πŸ¦‹ Members πŸ¦‹

  • gt β€” back pointers to GT. literally the GT back-pointer situation, bestie.
  • lock β€” protects everything force wake struct. it's the spinlock_t guard for the whole struct, so respect it.
  • awake_domains β€” mask of all domains awake ✨.
  • initialized_domains β€” mask of all initialized domains 🫢.
  • domains β€” force wake domains. the synopsis has it as struct xe_force_wake_domain domains[XE_FW_DOMAIN_ID_COUNT];, so that's the whole array vibe.

✨ Description ✨

okay so struct xe_force_wake represents a collection of related power domains (struct xe_force_wake_domain) associated with a subunit of the device. it's literally a little power-domain collection era. πŸ‘‘

Currently only used for GT power domains (where the term "forcewake" is used in the hardware documentation), although the interface could be extended to power wells in other parts of the hardware in the future. so like, rn it's GT-core, but future potential is there, iykyk. 🧚

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/gpu/drm/xe/xe_force_wake_types.h
  • struct xe_force_wake_domain(9)

go read these next, bestie, they're part of the lore. πŸ“š


sending u off with love from ./drivers/gpu/drm/xe and October 2026 β€” that's the source/version and date, bestie, mwah πŸŽ€βœ¨πŸ’–

πŸ“¦ where this page comes from