return 0;
}
-static inline bool xe_exec_queue_supports_multi_queue(struct xe_exec_queue *q)
-{
- return q->gt->info.multi_queue_engine_class_mask & BIT(q->class);
-}
-
static int xe_exec_queue_group_validate(struct xe_device *xe, struct xe_exec_queue *q,
u32 primary_id)
{
static int exec_queue_set_multi_group(struct xe_device *xe, struct xe_exec_queue *q,
u64 value)
{
- if (XE_IOCTL_DBG(xe, !xe_exec_queue_supports_multi_queue(q)))
+ if (XE_IOCTL_DBG(xe, !xe_gt_supports_multi_queue(q->gt, q->class)))
return -ENODEV;
if (XE_IOCTL_DBG(xe, !xe_device_uc_enabled(xe)))
xe_gt_sriov_vf_recovery_pending(gt);
}
+/**
+ * xe_gt_supports_multi_queue() - Check if gt supports multi queue for the
+ * specified engine class.
+ *
+ * @gt: the GT object
+ * @class: hwe class type
+ *
+ * Return: true if the hw engine class supports multi queue, else false
+ */
+static inline bool xe_gt_supports_multi_queue(const struct xe_gt *gt,
+ enum xe_engine_class class)
+{
+ return gt->info.multi_queue_engine_class_mask & BIT(class);
+}
+
#endif