diff options
author | Sami Kiminki <skiminki@nvidia.com> | 2014-10-24 13:40:57 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:12:07 -0400 |
commit | d11fbfe7b1b68b3aab93f7703896d95d40b79a58 (patch) | |
tree | a4b8574c9181284523efa5105878c2e3ef2e05fa /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 2c5fdd1c8a76ef9ca21abcf894f2c9525d57fd49 (diff) |
gpu: nvgpu: GPU characteristics additions
Add the following info into GPU characteristics: available big page
sizes, support indicators for sync fence fds and cycle stats, gpc
mask, SM version, SM SPA version and warp count, and IOCTL interface
levels. Also, add new IOCTL to fetch TPC masks.
Bug 1551769
Bug 1558186
Change-Id: I8a47d882645f29c7bf0c8f74334ebf47240e41de
Signed-off-by: Sami Kiminki <skiminki@nvidia.com>
Reviewed-on: http://git-master/r/562904
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index a56614ab..3f070a58 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -137,6 +137,7 @@ struct gpu_ops { | |||
137 | struct gr_zcull_info *zcull_params); | 137 | struct gr_zcull_info *zcull_params); |
138 | bool (*is_tpc_addr)(u32 addr); | 138 | bool (*is_tpc_addr)(u32 addr); |
139 | u32 (*get_tpc_num)(u32 addr); | 139 | u32 (*get_tpc_num)(u32 addr); |
140 | void (*detect_sm_arch)(struct gk20a *g); | ||
140 | } gr; | 141 | } gr; |
141 | const char *name; | 142 | const char *name; |
142 | struct { | 143 | struct { |
@@ -304,7 +305,8 @@ struct gpu_ops { | |||
304 | void (*l2_flush)(struct gk20a *g, bool invalidate); | 305 | void (*l2_flush)(struct gk20a *g, bool invalidate); |
305 | void (*tlb_invalidate)(struct vm_gk20a *vm); | 306 | void (*tlb_invalidate)(struct vm_gk20a *vm); |
306 | void (*set_big_page_size)(struct gk20a *g, | 307 | void (*set_big_page_size)(struct gk20a *g, |
307 | void *inst_ptr, int size); | 308 | void *inst_ptr, int size); |
309 | u32 (*get_big_page_sizes)(void); | ||
308 | } mm; | 310 | } mm; |
309 | struct { | 311 | struct { |
310 | int (*prepare_ucode)(struct gk20a *g); | 312 | int (*prepare_ucode)(struct gk20a *g); |