From e1623082985c9ec5dc0bd2449685c606fc0f8d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ADra=20Canal?= Date: Thu, 3 Aug 2023 07:34:59 -0300 Subject: [PATCH] v3dv: check CPU queue availability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Include a check to assure that the kernel driver supports the CPU queue. Also, indicate that, currently, the simulator doesn't have support for the CPU queue. Signed-off-by: MaĆ­ra Canal Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/simulator/v3dx_simulator.c | 3 +++ src/broadcom/vulkan/v3dv_device.c | 3 +++ src/broadcom/vulkan/v3dv_private.h | 1 + 3 files changed, 7 insertions(+) diff --git a/src/broadcom/simulator/v3dx_simulator.c b/src/broadcom/simulator/v3dx_simulator.c index 0517d4d4658..2929b400cc0 100644 --- a/src/broadcom/simulator/v3dx_simulator.c +++ b/src/broadcom/simulator/v3dx_simulator.c @@ -279,6 +279,9 @@ v3dX(simulator_get_param_ioctl)(struct v3d_hw *v3d, case DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT: args->value = 1; return 0; + case DRM_V3D_PARAM_SUPPORTS_CPU_QUEUE: + args->value = 0; + return 0; } if (args->param < ARRAY_SIZE(reg_map) && reg_map[args->param]) { diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 17bf074b804..05d6ef42595 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -849,6 +849,9 @@ create_physical_device(struct v3dv_instance *instance, goto fail; } + device->caps.cpu_queue = + v3d_has_feature(device, DRM_V3D_PARAM_SUPPORTS_CPU_QUEUE); + device->caps.multisync = v3d_has_feature(device, DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT); diff --git a/src/broadcom/vulkan/v3dv_private.h b/src/broadcom/vulkan/v3dv_private.h index 970991755cd..6cc4110e95e 100644 --- a/src/broadcom/vulkan/v3dv_private.h +++ b/src/broadcom/vulkan/v3dv_private.h @@ -200,6 +200,7 @@ struct v3dv_physical_device { } options; struct { + bool cpu_queue; bool multisync; bool perfmon; } caps;