From 771f742703bb56598bc341ec4eaee5ff7c036d4d Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Wed, 27 Apr 2016 19:02:43 +0530 Subject: gpu: nvgpu: add supported preemptions to gpu characteristics Add below flag fields to gpu characteristics to indicate supported and default preemption modes on platform for graphics and compute __u32 graphics_preemption_mode_flags; __u32 compute_preemption_mode_flags; __u32 default_graphics_preempt_mode; __u32 default_compute_preempt_mode; Add struct nvgpu_preemption_modes_rec to struct gr_gk20a to store these values locally Use platform specific get_preemption_mode_flags() to get the flags and define gk20a/gm20b specific get_preemption_mode_flags() API Bug 1646259 Change-Id: I80193c0d988dc93bd96585f9aa631fd817f4dfa3 Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/1133595 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/gk20a.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 4283e1ad..c07e7e4b 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -2142,6 +2142,17 @@ int gk20a_init_gpu_characteristics(struct gk20a *g) if (platform->clk_round_rate) gpu->max_freq = platform->clk_round_rate(g->dev, UINT_MAX); + g->ops.gr.get_preemption_mode_flags(g, &g->gr.preemption_mode_rec); + gpu->graphics_preemption_mode_flags = + g->gr.preemption_mode_rec.graphics_preemption_mode_flags; + gpu->compute_preemption_mode_flags = + g->gr.preemption_mode_rec.compute_preemption_mode_flags; + gpu->default_graphics_preempt_mode = + g->gr.preemption_mode_rec.default_graphics_preempt_mode; + gpu->default_compute_preempt_mode = + g->gr.preemption_mode_rec.default_compute_preempt_mode; + + return 0; } -- cgit v1.2.2