From e630812b436877a430dabf17d5985bfb4cd7775b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ADra=20Canal?= Date: Sun, 12 May 2024 09:20:16 -0300 Subject: [PATCH] broadcom/simulator: Add DRM_V3D_PARAM_MAX_PERF_COUNTERS parameter support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As this new parameter was introduced in the kernel, mirror the change in the simulator. Signed-off-by: MaĆ­ra Canal Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/simulator/v3d_simulator.c | 4 +++- src/broadcom/simulator/v3dx_simulator.c | 4 ++++ src/broadcom/simulator/v3dx_simulator.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/broadcom/simulator/v3d_simulator.c b/src/broadcom/simulator/v3d_simulator.c index 1d78d7205f1..ba5cdf68b42 100644 --- a/src/broadcom/simulator/v3d_simulator.c +++ b/src/broadcom/simulator/v3d_simulator.c @@ -1074,7 +1074,9 @@ v3d_simulator_ioctl(int fd, unsigned long request, void *args) return 0; case DRM_IOCTL_V3D_GET_PARAM: - return v3d_X_simulator(get_param_ioctl)(sim_state.v3d, args); + return v3d_X_simulator(get_param_ioctl)(sim_state.v3d, + sim_state.perfcnt_total, + args); case DRM_IOCTL_GEM_CLOSE: return v3d_simulator_gem_close_ioctl(fd, args); diff --git a/src/broadcom/simulator/v3dx_simulator.c b/src/broadcom/simulator/v3dx_simulator.c index ea682955dca..0a269e5f564 100644 --- a/src/broadcom/simulator/v3dx_simulator.c +++ b/src/broadcom/simulator/v3dx_simulator.c @@ -251,6 +251,7 @@ v3dX(simulator_submit_csd_ioctl)(struct v3d_hw *v3d, int v3dX(simulator_get_param_ioctl)(struct v3d_hw *v3d, + uint32_t perfcnt_total, struct drm_v3d_get_param *args) { static const uint32_t reg_map[] = { @@ -286,6 +287,9 @@ v3dX(simulator_get_param_ioctl)(struct v3d_hw *v3d, case DRM_V3D_PARAM_SUPPORTS_CPU_QUEUE: args->value = 1; return 0; + case DRM_V3D_PARAM_MAX_PERF_COUNTERS: + args->value = perfcnt_total; + return 0; } if (args->param < ARRAY_SIZE(reg_map) && reg_map[args->param]) { diff --git a/src/broadcom/simulator/v3dx_simulator.h b/src/broadcom/simulator/v3dx_simulator.h index 51fc2409d3e..14fb97ce6f0 100644 --- a/src/broadcom/simulator/v3dx_simulator.h +++ b/src/broadcom/simulator/v3dx_simulator.h @@ -35,6 +35,7 @@ struct drm_v3d_submit_csd; void v3dX(simulator_init_regs)(struct v3d_hw *v3d); int v3dX(simulator_get_param_ioctl)(struct v3d_hw *v3d, + uint32_t perfcnt_total, struct drm_v3d_get_param *args); void v3dX(simulator_submit_cl_ioctl)(struct v3d_hw *v3d, struct drm_v3d_submit_cl *args,