summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorDebarshi Dutta <ddutta@nvidia.com>2017-11-13 03:21:48 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-23 06:03:36 -0500
commit536ec21b565ab1368b53a26d6ec7ed05857f0775 (patch)
tree5f385385ae730dd2d98463502d249150262f8b9b /drivers/gpu/nvgpu/gk20a/gk20a.h
parentba2e59dc41f593bb011e0ec58c969337a35f4cf1 (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/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 11a99bff..33d40cd5 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -949,7 +949,7 @@ struct gpu_ops {
949 } debug; 949 } debug;
950 struct { 950 struct {
951 int (*exec_reg_ops)(struct dbg_session_gk20a *dbg_s, 951 int (*exec_reg_ops)(struct dbg_session_gk20a *dbg_s,
952 struct nvgpu_dbg_gpu_reg_op *ops, 952 struct nvgpu_dbg_reg_op *ops,
953 u64 num_ops); 953 u64 num_ops);
954 int (*dbg_set_powergate)(struct dbg_session_gk20a *dbg_s, 954 int (*dbg_set_powergate)(struct dbg_session_gk20a *dbg_s,
955 bool disable_powergate); 955 bool disable_powergate);
@@ -1206,7 +1206,7 @@ struct gk20a {
1206 int dbg_timeout_disabled_refcount; /*refcount for timeout disable */ 1206 int dbg_timeout_disabled_refcount; /*refcount for timeout disable */
1207 1207
1208 /* must have dbg_sessions_lock before use */ 1208 /* must have dbg_sessions_lock before use */
1209 struct nvgpu_dbg_gpu_reg_op *dbg_regops_tmp_buf; 1209 struct nvgpu_dbg_reg_op *dbg_regops_tmp_buf;
1210 u32 dbg_regops_tmp_buf_ops; 1210 u32 dbg_regops_tmp_buf_ops;
1211 1211
1212 /* For perfbuf mapping */ 1212 /* For perfbuf mapping */