STRUCT XE_OA_FORMAT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct xe_oa_format(9) ✨

okay so bestie, welcome to the kernel API manual for struct xe_oa_format β€” it's literally the struct that holds the format fields for all the supported OA formats πŸŽ€ and before you ask, yes, the OA format properties are specified in PRM/Bspec 52198 and 60942. that's the source of truth, iykyk πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct xe_oa_format {
    u32 counter_select;
    int size;
    int type;
    enum xe_oa_report_header header;
    u16 counter_size;
    u16 bc_report;
};

look at her. six fields. main character energy fr fr πŸ‘‘


🌸 MEMBERS 🌸

  • counter_select β€” the counter select value, and if you wanna know what it actually means you gotta go read Bspec 52198/60942 bestie, that's the assignment πŸ“–
  • size β€” the record size as written by the HW, and heads up: it's a multiple of 64 byte cachelines. sixty-four. byte. cachelines. not a suggestion, that's just how it is πŸ’€
  • type β€” the type, of enum drm_xe_oa_format_type. it's giving "go look at the enum" energy 🌈
  • header β€” the 32 or 64 bit report headers. literally just those two options, pick your fighter ⭐
  • counter_size β€” the counter size value (see Bspec 60942, love, it's right there 🫢)
  • bc_report β€” the BC report value (again: Bspec 60942, she's the blueprint πŸ’œ)

🧚 SEE ALSO 🧚

the kernel file lives at ./drivers/gpu/drm/xe/xe_oa_types.h and honestly the whole friend group is linked here, go say hi πŸ‘‹

  • struct xe_oa_unit(9)
  • struct xe_oa_gt(9)
  • struct xe_oa(9)
  • struct xe_oa_buffer(9)
  • struct xe_oa_stream(9)
fr fr read the Bspecs before you touch counter_select or counter_size, no cap β€” the answers are not vibes-based here πŸ™ˆ

and that's the whole page, bestie! it's from the kernel file at ./drivers/gpu/drm/xe, dated October 2026, and it's the struct xe_oa_format(9) page β€” slay, ate, periodt πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from