diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/ioctl_dbg.h')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ioctl_dbg.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_dbg.h b/drivers/gpu/nvgpu/common/linux/ioctl_dbg.h new file mode 100644 index 00000000..bd76045b --- /dev/null +++ b/drivers/gpu/nvgpu/common/linux/ioctl_dbg.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | * Tegra GK20A GPU Debugger Driver | ||
3 | * | ||
4 | * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms and conditions of the GNU General Public License, | ||
8 | * version 2, as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | */ | ||
18 | #ifndef DBG_GPU_IOCTL_GK20A_H | ||
19 | #define DBG_GPU_IOCTL_GK20A_H | ||
20 | #include <linux/poll.h> | ||
21 | |||
22 | #include "gk20a/dbg_gpu_gk20a.h" | ||
23 | |||
24 | /* NVGPU_DBG_GPU_IOCTL_REG_OPS: the upper limit for the number | ||
25 | * of regops */ | ||
26 | #define NVGPU_IOCTL_DBG_REG_OPS_LIMIT 1024 | ||
27 | |||
28 | struct dbg_session_gk20a_linux { | ||
29 | struct device *dev; | ||
30 | struct dbg_session_gk20a dbg_s; | ||
31 | }; | ||
32 | |||
33 | struct dbg_session_channel_data_linux { | ||
34 | /* | ||
35 | * We have to keep a ref to the _file_, not the channel, because | ||
36 | * close(channel_fd) is synchronous and would deadlock if we had an | ||
37 | * open debug session fd holding a channel ref at that time. Holding a | ||
38 | * ref to the file makes close(channel_fd) just drop a kernel ref to | ||
39 | * the file; the channel will close when the last file ref is dropped. | ||
40 | */ | ||
41 | struct file *ch_f; | ||
42 | struct dbg_session_channel_data ch_data; | ||
43 | }; | ||
44 | |||
45 | /* module debug driver interface */ | ||
46 | int gk20a_dbg_gpu_dev_release(struct inode *inode, struct file *filp); | ||
47 | int gk20a_dbg_gpu_dev_open(struct inode *inode, struct file *filp); | ||
48 | long gk20a_dbg_gpu_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); | ||
49 | unsigned int gk20a_dbg_gpu_dev_poll(struct file *filep, poll_table *wait); | ||
50 | |||
51 | /* used by profiler driver interface */ | ||
52 | int gk20a_prof_gpu_dev_open(struct inode *inode, struct file *filp); | ||
53 | |||
54 | #endif \ No newline at end of file | ||