summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorSami Kiminki <skiminki@nvidia.com>2014-10-24 13:40:57 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:12:07 -0400
commitd11fbfe7b1b68b3aab93f7703896d95d40b79a58 (patch)
treea4b8574c9181284523efa5105878c2e3ef2e05fa /drivers/gpu/nvgpu/gk20a/gk20a.h
parent2c5fdd1c8a76ef9ca21abcf894f2c9525d57fd49 (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.h4
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);