]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/oa: Allow exec_queue's to be specified only for OAG OA unit
authorAshutosh Dixit <ashutosh.dixit@intel.com>
Tue, 2 Dec 2025 02:51:13 +0000 (18:51 -0800)
committerAshutosh Dixit <ashutosh.dixit@intel.com>
Thu, 4 Dec 2025 21:33:22 +0000 (13:33 -0800)
Exec_queue's are only used for OAR/OAC functionality for OAG unit. Make
this requirement explicit, which avoids complications in the code for
other (non-OAG) OA units.

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-4-ashutosh.dixit@intel.com
drivers/gpu/drm/xe/xe_oa.c

index 75db5530cb557f3a502e2dbe9f2c3d64b593155f..d63c04e2d49220b37833d5e033141e9804380758 100644 (file)
@@ -2032,6 +2032,10 @@ int xe_oa_stream_open_ioctl(struct drm_device *dev, u64 data, struct drm_file *f
                return ret;
 
        if (param.exec_queue_id > 0) {
+               /* An exec_queue is only needed for OAR/OAC functionality on OAG */
+               if (XE_IOCTL_DBG(oa->xe, param.oa_unit->type != DRM_XE_OA_UNIT_TYPE_OAG))
+                       return -EINVAL;
+
                param.exec_q = xe_exec_queue_lookup(xef, param.exec_queue_id);
                if (XE_IOCTL_DBG(oa->xe, !param.exec_q))
                        return -ENOENT;