summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2017-01-24 18:38:02 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-05-10 17:16:06 -0400
commit2baab4e49e8bb2d5c25759660bc1ae2382d9cb1b (patch)
tree268411c22d20b9245676a192e85b63f55e005f1c /drivers/gpu/nvgpu/gk20a/gk20a.h
parent8b981f3c64897128fd2a94c03a819bbca5edd4da (diff)
gpu: nvgpu: changes related to preemption
Added function pointers to check chip specific valid gfx class and compute class. Also added function pointer to update ctx header with preemption buffer pointers. Bug 200292090 Change-Id: I8119ee082e2abb67186a8ac07088f8db7f410ba1 Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/1293502 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, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index c8d06b4f..96ca69a3 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -194,6 +194,8 @@ struct gpu_ops {
194 void (*set_circular_buffer_size)(struct gk20a *g, u32 data); 194 void (*set_circular_buffer_size)(struct gk20a *g, u32 data);
195 void (*enable_hww_exceptions)(struct gk20a *g); 195 void (*enable_hww_exceptions)(struct gk20a *g);
196 bool (*is_valid_class)(struct gk20a *g, u32 class_num); 196 bool (*is_valid_class)(struct gk20a *g, u32 class_num);
197 bool (*is_valid_gfx_class)(struct gk20a *g, u32 class_num);
198 bool (*is_valid_compute_class)(struct gk20a *g, u32 class_num);
197 void (*get_sm_dsm_perf_regs)(struct gk20a *g, 199 void (*get_sm_dsm_perf_regs)(struct gk20a *g,
198 u32 *num_sm_dsm_perf_regs, 200 u32 *num_sm_dsm_perf_regs,
199 u32 **sm_dsm_perf_regs, 201 u32 **sm_dsm_perf_regs,
@@ -354,6 +356,8 @@ struct gpu_ops {
354 struct nvgpu_mem *mem, u64 gpu_va); 356 struct nvgpu_mem *mem, u64 gpu_va);
355 void (*write_pm_ptr)(struct gk20a *g, 357 void (*write_pm_ptr)(struct gk20a *g,
356 struct nvgpu_mem *mem, u64 gpu_va); 358 struct nvgpu_mem *mem, u64 gpu_va);
359 void (*write_preemption_ptr)(struct gk20a *g,
360 struct nvgpu_mem *mem, u64 gpu_va);
357 void (*init_elcg_mode)(struct gk20a *g, u32 mode, u32 engine); 361 void (*init_elcg_mode)(struct gk20a *g, u32 mode, u32 engine);
358 void (*load_tpc_mask)(struct gk20a *g); 362 void (*load_tpc_mask)(struct gk20a *g);
359 int (*inval_icache)(struct gk20a *g, struct channel_gk20a *ch); 363 int (*inval_icache)(struct gk20a *g, struct channel_gk20a *ch);