diff options
author | Debarshi Dutta <ddutta@nvidia.com> | 2017-11-13 03:21:48 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-23 06:03:36 -0500 |
commit | 536ec21b565ab1368b53a26d6ec7ed05857f0775 (patch) | |
tree | 5f385385ae730dd2d98463502d249150262f8b9b /drivers/gpu/nvgpu/common/linux/vgpu/dbg_vgpu.c | |
parent | ba2e59dc41f593bb011e0ec58c969337a35f4cf1 (diff) |
gpu: nvgpu: remove dependency on linux header for regops_gk20a*
This patch removes the dependency on the header file "uapi/linux/nvgpu.h"
for regops_gk20a.c. The original structure and definitions in the
uapi/linux/nvgpu.h is maintained for userspace libnvrm_gpu.h. The
following changes are made in this patch.
1) Defined common versions of the NVGPU_DBG_GPU_REG_OP* definitions inside
regops_gk20a.h.
2) Defined common version of struct nvgpu_dbg_gpu_reg_op inside
regops_gk20a.h naming it struct nvgpu_dbg_reg_op.
3) Constructed APIs to convert the NVGPU_DBG_GPU_REG_OP* definitions from
linux versions to common and vice versa.
4) Constructed APIs to convert from struct nvgpu_dbg_gpu_reg_op to
struct nvgpu_dbg_reg_op and vice versa.
5) The ioctl handler nvgpu_ioctl_channel_reg_ops first copies from
userspace into a local storage based on struct nvgpu_dbg_gpu_reg_op which
is copied into the struct nvgpu_dbg_reg_op using the APIs above and
after executing the regops handler passes the data back into userspace
by copying back data from struct nvgpu_dbg_reg_op to struct
nvgpu_dbg_gpu_reg_opi.
JIRA NVGPU-417
Change-Id: I23bad48d2967a629a6308c7484f3741a89db6537
Signed-off-by: Debarshi Dutta <ddutta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1596972
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/vgpu/dbg_vgpu.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/vgpu/dbg_vgpu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/dbg_vgpu.c b/drivers/gpu/nvgpu/common/linux/vgpu/dbg_vgpu.c index 06ef43b8..dfdbe3ee 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/dbg_vgpu.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/dbg_vgpu.c | |||
@@ -21,13 +21,14 @@ | |||
21 | #include "gk20a/gk20a.h" | 21 | #include "gk20a/gk20a.h" |
22 | #include "gk20a/channel_gk20a.h" | 22 | #include "gk20a/channel_gk20a.h" |
23 | #include "gk20a/dbg_gpu_gk20a.h" | 23 | #include "gk20a/dbg_gpu_gk20a.h" |
24 | #include "gk20a/regops_gk20a.h" | ||
24 | #include "vgpu.h" | 25 | #include "vgpu.h" |
25 | #include "dbg_vgpu.h" | 26 | #include "dbg_vgpu.h" |
26 | 27 | ||
27 | #include <nvgpu/bug.h> | 28 | #include <nvgpu/bug.h> |
28 | 29 | ||
29 | int vgpu_exec_regops(struct dbg_session_gk20a *dbg_s, | 30 | int vgpu_exec_regops(struct dbg_session_gk20a *dbg_s, |
30 | struct nvgpu_dbg_gpu_reg_op *ops, | 31 | struct nvgpu_dbg_reg_op *ops, |
31 | u64 num_ops) | 32 | u64 num_ops) |
32 | { | 33 | { |
33 | struct channel_gk20a *ch; | 34 | struct channel_gk20a *ch; |