STRUCT XE_DEVICE_PF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the struct xe_device_pf(9) page from the Kernel API Manual πŸ’– this is the one that holds all the Xe PF related data, and honestly it's giving "backstage pass to the whole SR-IOV operation" energy πŸ‘‘


✨ SYNOPSIS ✨

struct xe_device_pf {
    u16 device_total_vfs;
    u16 driver_max_vfs;
    struct xe_guard guard_vfs_enabling;
    struct mutex master_lock;
    struct xe_sriov_pf_provision provision;
    struct xe_sriov_pf_migration migration;
    struct xe_sriov_pf_service service;
    struct {
      struct kobject *root;
    } sysfs;
    struct xe_sriov_metadata *vfs;
};

like, just look at her 😭 everything a PF needs to keep track of its VFs, all in one struct, all in one vibe 🌸


πŸŽ€ Members πŸŽ€

  • device_total_vfs β€” the maximum number of VFs the device itself can support. the hardware's hard limit, no cap fr πŸ’…
  • driver_max_vfs β€” the maximum number of VFs the driver supports. yes bestie, these are two different numbers, and yes, you need both 🫢
  • guard_vfs_enabling β€” literally guards VFs enabling. it's the bouncer at the door of the VF club πŸšͺ✨
  • master_lock β€” protects all VFs configurations across GTs. one lock to rule them all, periodt πŸ”’
  • provision β€” device level provisioning data.
  • migration β€” device level migration data.
  • service β€” device level service data.
  • sysfs β€” device level sysfs data.
  • sysfs.root β€” the root kobject for all SR-IOV entries in sysfs. the mother of the sysfs tree, the main character 🌈
  • vfs β€” metadata for all VFs. all of them. every single one πŸ¦‹

πŸ’œ Description πŸ’œ

ok this part is important, don't skip it πŸ‘€

the data in this structure is valid only if the driver is running in the XE_SRIOV_MODE_PF mode. that's it. that's the vibe check β€” wrong mode, and none of this means anything 😭 so fr fr, check your mode first πŸ’€


⭐ SEE ALSO ⭐

  • Kernel file ./drivers/gpu/drm/xe/xe_sriov_pf_types.h struct xe_sriov_metadata(9)

go read that one next bestie, it's the sister page and she slays too πŸ‘‘πŸ’–


okay that's the whole page!! πŸŽ€ this little beauty lives in ./drivers/gpu/drm/xe, and she's dated October 2026 β€” struct xe_device_pf(9), Kernel API Manual, that's a wrap, mwah πŸ’‹πŸ¦‹βœ¨

πŸ“¦ where this page comes from