From 2baab4e49e8bb2d5c25759660bc1ae2382d9cb1b Mon Sep 17 00:00:00 2001 From: seshendra Gadagottu Date: Tue, 24 Jan 2017 15:38:02 -0800 Subject: 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 Reviewed-on: http://git-master/r/1293502 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 3140c285..77a947de 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c @@ -3113,6 +3113,22 @@ static bool gr_gk20a_is_valid_class(struct gk20a *g, u32 class_num) return valid; } +static bool gr_gk20a_is_valid_gfx_class(struct gk20a *g, u32 class_num) +{ + if (class_num == KEPLER_C) + return true; + else + return false; +} + +static bool gr_gk20a_is_valid_compute_class(struct gk20a *g, u32 class_num) +{ + if (class_num == KEPLER_COMPUTE_A) + return true; + else + return false; +} + int gk20a_alloc_obj_ctx(struct channel_gk20a *c, struct nvgpu_alloc_obj_ctx_args *args) { @@ -9462,6 +9478,8 @@ void gk20a_init_gr_ops(struct gpu_ops *gops) gk20a_gr_set_alpha_circular_buffer_size; gops->gr.enable_hww_exceptions = gr_gk20a_enable_hww_exceptions; gops->gr.is_valid_class = gr_gk20a_is_valid_class; + gops->gr.is_valid_gfx_class = gr_gk20a_is_valid_gfx_class; + gops->gr.is_valid_compute_class = gr_gk20a_is_valid_compute_class; gops->gr.get_sm_dsm_perf_regs = gr_gk20a_get_sm_dsm_perf_regs; gops->gr.get_sm_dsm_perf_ctrl_regs = gr_gk20a_get_sm_dsm_perf_ctrl_regs; gops->gr.init_fs_state = gr_gk20a_init_fs_state; -- cgit v1.2.2