diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c index 383bdca90..3156837bf 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -40,6 +41,22 @@ #include "platform_gk20a.h" #include "ioctl_dbg.h" +struct dbg_session_gk20a_linux { + struct device *dev; + struct dbg_session_gk20a dbg_s; +}; + +struct dbg_session_channel_data_linux { + /* + * We have to keep a ref to the _file_, not the channel, because + * close(channel_fd) is synchronous and would deadlock if we had an + * open debug session fd holding a channel ref at that time. Holding a + * ref to the file makes close(channel_fd) just drop a kernel ref to + * the file; the channel will close when the last file ref is dropped. + */ + struct file *ch_f; + struct dbg_session_channel_data ch_data; +}; /* turn seriously unwieldy names -> something shorter */ #define REGOP_LINUX(x) NVGPU_DBG_GPU_REG_OP_##x diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.h b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.h index bd76045ba..2e188cc04 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.h +++ b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.h @@ -1,7 +1,7 @@ /* * Tegra GK20A GPU Debugger Driver * - * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2017-2018, 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, @@ -17,31 +17,15 @@ */ #ifndef DBG_GPU_IOCTL_GK20A_H #define DBG_GPU_IOCTL_GK20A_H -#include -#include "gk20a/dbg_gpu_gk20a.h" +struct inode; +struct file; +typedef struct poll_table_struct poll_table; /* NVGPU_DBG_GPU_IOCTL_REG_OPS: the upper limit for the number * of regops */ #define NVGPU_IOCTL_DBG_REG_OPS_LIMIT 1024 -struct dbg_session_gk20a_linux { - struct device *dev; - struct dbg_session_gk20a dbg_s; -}; - -struct dbg_session_channel_data_linux { - /* - * We have to keep a ref to the _file_, not the channel, because - * close(channel_fd) is synchronous and would deadlock if we had an - * open debug session fd holding a channel ref at that time. Holding a - * ref to the file makes close(channel_fd) just drop a kernel ref to - * the file; the channel will close when the last file ref is dropped. - */ - struct file *ch_f; - struct dbg_session_channel_data ch_data; -}; - /* module debug driver interface */ int gk20a_dbg_gpu_dev_release(struct inode *inode, struct file *filp); int gk20a_dbg_gpu_dev_open(struct inode *inode, struct file *filp); @@ -51,4 +35,4 @@ unsigned int gk20a_dbg_gpu_dev_poll(struct file *filep, poll_table *wait); /* used by profiler driver interface */ int gk20a_prof_gpu_dev_open(struct inode *inode, struct file *filp); -#endif \ No newline at end of file +#endif