STRUCT XE_OA(9)
π struct xe_oa β NAME π
okay so this is struct xe_oa(9) from the Kernel API Manual, and it's basically the OA device level information β¨ β like, the whole vibe of the OA device in one struct. Obsessed.
πΈ SYNOPSIS πΈ
struct xe_oa {
struct xe_device *xe;
struct kobject *metrics_kobj;
struct mutex metrics_lock;
struct idr metrics_idr;
const struct xe_oa_format *oa_formats;
unsigned long format_mask[BITS_TO_LONGS(__XE_OA_FORMAT_MAX)];
u16 oa_unit_ids;
};
Like, that's the whole thing. Iconic. No cap. π«Ά
π Members π
so here's the field-by-field breakdown bestie, every single one, we're not skipping a single member π
xeβ back pointer to xe device. like, it points right back home to the xe device, main character energy fr fr πmetrics_kobjβ kobj for metrics sysfs. yep, the kobject that handles the metrics sysfs situation β¨metrics_lockβ lock protecting add/remove configs. it's giving bodyguard energy, keeping those add/remove config ops from stepping on each other πmetrics_idrβ List of dynamic configurations (struct xe_oa_config). literally a whole list of the dynamic configs, we love a collection πoa_formatsβ tracks all OA formats across platforms. every platform, every OA format, all tracked here π¦format_maskβ tracks valid OA formats for a platform. it's the vibe check for which formats are valid on a given platform, typed asunsigned long format_mask[BITS_TO_LONGS(__XE_OA_FORMAT_MAX)]β yes that whole expression, don't @ me πoa_unit_idsβ tracks oa unit ids assigned across gt's. keeping tabs on those oa unit ids spread across the gt's, someone's gotta do it β
π¦ SEE ALSO π¦
go read these next bestie (Kernel file ./drivers/gpu/drm/xe/xe_oa_types.h β that's where all the lore lives π₯):
struct xe_oa_format(9)struct xe_oa_unit(9)struct xe_oa_gt(9)struct xe_oa_buffer(9)struct xe_oa_stream(9)
π ngl these all hang out in./drivers/gpu/drm/xe/xe_oa_types.hso like, tellxe_oa_types.hI said hi okay π
πΈ cute sign-off πΈ
so this whole page comes from ./drivers/gpu/drm/xe, dated October 2026, and it's literally struct xe_oa(9) β periodt πππ slay, go forth and read your header files bestie π§β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms