summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-04-27 09:32:43 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-05-09 16:16:53 -0400
commit771f742703bb56598bc341ec4eaee5ff7c036d4d (patch)
treea74d32db43c4fe87ee6d55a587a8f6de12490bbf /drivers/gpu/nvgpu/gk20a/gr_gk20a.h
parentd868b654419cfa096f563c9281a2a5cc067c23db (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/gr_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
index 10997c17..15d1ea7d 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h
@@ -188,6 +188,14 @@ struct gr_gk20a_isr_data {
188 u32 class_num; 188 u32 class_num;
189}; 189};
190 190
191struct nvgpu_preemption_modes_rec {
192 u32 graphics_preemption_mode_flags; /* supported preemption modes */
193 u32 compute_preemption_mode_flags; /* supported preemption modes */
194
195 u32 default_graphics_preempt_mode; /* default mode */
196 u32 default_compute_preempt_mode; /* default mode */
197};
198
191struct gr_gk20a { 199struct gr_gk20a {
192 struct gk20a *g; 200 struct gk20a *g;
193 struct { 201 struct {
@@ -325,6 +333,7 @@ struct gr_gk20a {
325 bool sw_ready; 333 bool sw_ready;
326 bool skip_ucode_init; 334 bool skip_ucode_init;
327 335
336 struct nvgpu_preemption_modes_rec preemption_mode_rec;
328#ifdef CONFIG_ARCH_TEGRA_18x_SOC 337#ifdef CONFIG_ARCH_TEGRA_18x_SOC
329 struct gr_t18x t18x; 338 struct gr_t18x t18x;
330#endif 339#endif