summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_query.c
diff options
context:
space:
mode:
authorJosé Roberto de Souza <jose.souza@intel.com>2023-03-23 12:24:59 -0700
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-19 18:30:21 -0500
commitef5e3c2f703d05c9d296d8f8ad0a0f48f6c1fcc9 (patch)
treed3e7122f697894db7803c132735d7085ff53cf89 /drivers/gpu/drm/xe/xe_query.c
parent9bddebf1f0f6e7a8a6418dfc14fdaa6233ba0524 (diff)
drm/xe: Add max engine priority to xe query
Intel Vulkan driver needs to know what is the maximum priority to fill a device info struct for applications. Right now we getting this information by creating a engine and setting priorities from min to high to know what is the maximum priority for running process but this leads to info messages to be printed to dmesg: xe 0000:03:00.0: [drm] Ioctl argument check failed at drivers/gpu/drm/xe/xe_engine.c:178: value == DRM_SCHED_PRIORITY_HIGH && !capable(CAP_SYS_NICE) It does not cause any harm but when executing a test suite like crucible it causes thousands of those messages to be printed. So here adding one more property to drm_xe_query_config to fetch the max engine priority. Cc: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_query.c')
-rw-r--r--drivers/gpu/drm/xe/xe_query.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 0f70945176f6..dd64ff0d2a57 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -12,6 +12,7 @@
#include "xe_bo.h"
#include "xe_device.h"
+#include "xe_engine.h"
#include "xe_ggtt.h"
#include "xe_gt.h"
#include "xe_guc_hwconfig.h"
@@ -194,6 +195,8 @@ static int query_config(struct xe_device *xe, struct drm_xe_device_query *query)
config->info[XE_QUERY_CONFIG_GT_COUNT] = xe->info.tile_count;
config->info[XE_QUERY_CONFIG_MEM_REGION_COUNT] =
hweight_long(xe->info.mem_region_mask);
+ config->info[XE_QUERY_CONFIG_MAX_ENGINE_PRIORITY] =
+ xe_engine_device_get_max_priority(xe);
if (copy_to_user(query_ptr, config, size)) {
kfree(config);