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/gk20a/gk20a.h | |
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/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 4 |
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 */ |