diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2016-04-27 09:32:43 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-05-09 16:16:53 -0400 |
commit | 771f742703bb56598bc341ec4eaee5ff7c036d4d (patch) | |
tree | a74d32db43c4fe87ee6d55a587a8f6de12490bbf /drivers/gpu/nvgpu/gk20a/gk20a.c | |
parent | d868b654419cfa096f563c9281a2a5cc067c23db (diff) |
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 <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1133595
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 11 |
1 files changed, 11 insertions, 0 deletions
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) | |||
2142 | if (platform->clk_round_rate) | 2142 | if (platform->clk_round_rate) |
2143 | gpu->max_freq = platform->clk_round_rate(g->dev, UINT_MAX); | 2143 | gpu->max_freq = platform->clk_round_rate(g->dev, UINT_MAX); |
2144 | 2144 | ||
2145 | g->ops.gr.get_preemption_mode_flags(g, &g->gr.preemption_mode_rec); | ||
2146 | gpu->graphics_preemption_mode_flags = | ||
2147 | g->gr.preemption_mode_rec.graphics_preemption_mode_flags; | ||
2148 | gpu->compute_preemption_mode_flags = | ||
2149 | g->gr.preemption_mode_rec.compute_preemption_mode_flags; | ||
2150 | gpu->default_graphics_preempt_mode = | ||
2151 | g->gr.preemption_mode_rec.default_graphics_preempt_mode; | ||
2152 | gpu->default_compute_preempt_mode = | ||
2153 | g->gr.preemption_mode_rec.default_compute_preempt_mode; | ||
2154 | |||
2155 | |||
2145 | return 0; | 2156 | return 0; |
2146 | } | 2157 | } |
2147 | 2158 | ||