From 5ecc45b5e7f16e00b2407d4259759228ccbdcf4b Mon Sep 17 00:00:00 2001 From: Thomas Fleury Date: Fri, 21 Dec 2018 10:04:27 +0530 Subject: gpu: nvgpu: add cycle stats to debugger node Add NVGPU_DBG_GPU_IOCTL_CYCLE_STATS to debugger node, to install/uninstall a buffer for cycle stats. Add NVGPU_DBG_GPU_IOCTL_CYCLE_STATS_SNAPSHOT to debugger node, to attach/flush/detach a buffer for Mode-E streamout. Those ioctls will apply to the first channel in the debug session. Bug 2660206 Bug 200464613 Change-Id: I0b96d9a07c016690140292fa5886fda545697ee6 Signed-off-by: Thomas Fleury Reviewed-on: https://git-master.nvidia.com/r/2002060 (cherry picked from commit 90b0bf98ac01d7fa24c40f6a1f20bfe5fa481d36) Signed-off-by: Gagan Grover Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2092008 Reviewed-by: automaticguardword Reviewed-by: Phoenix Jung Reviewed-by: mobile promotions GVS: Gerrit_Virtual_Submit Tested-by: Peter Daifuku Tested-by: mobile promotions --- drivers/gpu/nvgpu/os/linux/ioctl_channel.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/os/linux/ioctl_channel.h') diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_channel.h b/drivers/gpu/nvgpu/os/linux/ioctl_channel.h index 48cff1ea..3e802899 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_channel.h +++ b/drivers/gpu/nvgpu/os/linux/ioctl_channel.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -36,9 +36,16 @@ long gk20a_channel_ioctl(struct file *filp, int gk20a_channel_open_ioctl(struct gk20a *g, struct nvgpu_channel_open_args *args); -int gk20a_channel_free_cycle_stats_snapshot(struct channel_gk20a *ch); +int gk20a_channel_cycle_stats(struct channel_gk20a *ch, int dmabuf_fd); void gk20a_channel_free_cycle_stats_buffer(struct channel_gk20a *ch); +int gk20a_attach_cycle_stats_snapshot(struct channel_gk20a *ch, + u32 dmabuf_fd, + u32 perfmon_id_count, + u32 *perfmon_id_start); +int gk20a_flush_cycle_stats_snapshot(struct channel_gk20a *ch); +int gk20a_channel_free_cycle_stats_snapshot(struct channel_gk20a *ch); + extern const struct file_operations gk20a_channel_ops; u32 nvgpu_get_common_runlist_level(u32 level); -- cgit v1.2.2