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/gr_gk20a.h | |
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/gr_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 9 |
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 | ||
191 | struct 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 | |||
191 | struct gr_gk20a { | 199 | struct 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 |