diff options
author | seshendra Gadagottu <sgadagottu@nvidia.com> | 2017-01-24 18:38:02 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-05-10 17:16:06 -0400 |
commit | 2baab4e49e8bb2d5c25759660bc1ae2382d9cb1b (patch) | |
tree | 268411c22d20b9245676a192e85b63f55e005f1c /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 8b981f3c64897128fd2a94c03a819bbca5edd4da (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.h | 4 |
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); |