STRUCT XE_FORCE_WAKE_DOMAIN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct xe_force_wake_domain πŸ’–

okay bestie, welcome to the Kernel API Manual page for struct xe_force_wake_domain β€” it’s giving β€œtiny struct, very important power-domain business” energy. ✨

🌸 NAME 🌸

struct xe_force_wake_domain β€” Xe force wake power domain. That’s the whole vibe. πŸ’…

🌈 SYNOPSIS 🌈

       struct xe_force_wake_domain {
           enum xe_force_wake_domain_id id;
           struct xe_reg reg_ctl;
           struct xe_reg reg_ack;
           u32 val;
           u32 mask;
           u32 ref;
        };

πŸŽ€ Members πŸŽ€

  • id β€” domain force wake id. πŸͺͺ
  • reg_ctl β€” domain wake control register address. πŸŽ›οΈ
  • reg_ack β€” domain ack register address. βœ…
  • val β€” domain wake write value. ✍️
  • mask β€” domain mask. 🎭
  • ref β€” domain reference. πŸ”’

πŸ”₯ Description πŸ”₯

So this struct represents an individual device-internal power domain. The driver must make sure the power domain is awake before accessing registers or any other hardware functionality that’s part of that power domain. No cap, that part is serious. 🫢

Since different driver threads may access hardware units simultaneously, a reference count is used to ensure the domain stays awake for as long as any software is using the part of the hardware covered by the power domain. bestie, it’s literally keeping the lights on while somebody’s still in the room. πŸ’‘

Hardware provides a register interface that lets the driver request wake/sleep of power domains. But in most cases, the actual action of powering the hardware up/down is handled by firmware β€” and it may be subject to requirements and constraints outside the driver’s visibility. So the driver needs to wait for an acknowledgment that a wake request has been acted upon before accessing the parts of the hardware that reside within the power domain. periodt. βŒ›

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/gpu/drm/xe/xe_force_wake_types.h, plus struct xe_force_wake(9) β€” go peek, iykyk. πŸ‘€


mwah πŸ’‹ β€” this cutie lives under source/version ./drivers/gpu/drm/xe, dated October 2026, and it’s the struct xe_force_wake_domain(9) page. byeee 🫢

πŸ“¦ where this page comes from