]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/oa/uapi: Add gt_id to struct drm_xe_oa_unit
authorAshutosh Dixit <ashutosh.dixit@intel.com>
Tue, 2 Dec 2025 02:51:12 +0000 (18:51 -0800)
committerAshutosh Dixit <ashutosh.dixit@intel.com>
Thu, 4 Dec 2025 21:33:20 +0000 (13:33 -0800)
gt_id was previously omitted from 'struct drm_xe_oa_unit' because it could
be determine from hwe's attached to the OA unit. However, we now have OA
units which don't have any hwe's attached to them. Hence add gt_id to
'struct drm_xe_oa_unit' in order to provide this needed information to
userspace.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Link: https://patch.msgid.link/20251202025115.373546-3-ashutosh.dixit@intel.com
drivers/gpu/drm/xe/xe_query.c
include/uapi/drm/xe_drm.h

index 6667403a8814cdf7acfb1b2118bff6897022ab54..75490683bad2fd7129baca74273abeec40d9e7cb 100644 (file)
@@ -685,7 +685,9 @@ static int query_oa_units(struct xe_device *xe,
                        du->capabilities = DRM_XE_OA_CAPS_BASE | DRM_XE_OA_CAPS_SYNCS |
                                           DRM_XE_OA_CAPS_OA_BUFFER_SIZE |
                                           DRM_XE_OA_CAPS_WAIT_NUM_REPORTS |
-                                          DRM_XE_OA_CAPS_OAM;
+                                          DRM_XE_OA_CAPS_OAM |
+                                          DRM_XE_OA_CAPS_OA_UNIT_GT_ID;
+                       du->gt_id = u->gt->info.id;
                        j = 0;
                        for_each_hw_engine(hwe, gt, hwe_id) {
                                if (!xe_hw_engine_is_reserved(hwe) &&
index 0d99bb0cd20a361f99ae2e5800db24b8e9ad5c6d..876a076fa6c0c10dfb5f50a4fde2b85a679b84c6 100644 (file)
@@ -1697,12 +1697,19 @@ struct drm_xe_oa_unit {
 #define DRM_XE_OA_CAPS_OA_BUFFER_SIZE  (1 << 2)
 #define DRM_XE_OA_CAPS_WAIT_NUM_REPORTS        (1 << 3)
 #define DRM_XE_OA_CAPS_OAM             (1 << 4)
+#define DRM_XE_OA_CAPS_OA_UNIT_GT_ID   (1 << 5)
 
        /** @oa_timestamp_freq: OA timestamp freq */
        __u64 oa_timestamp_freq;
 
+       /** @gt_id: gt id for this OA unit */
+       __u16 gt_id;
+
+       /** @reserved1: MBZ */
+       __u16 reserved1[3];
+
        /** @reserved: MBZ */
-       __u64 reserved[4];
+       __u64 reserved[3];
 
        /** @num_engines: number of engines in @eci array */
        __u64 num_engines;