diff options
author | Aingara Paramakuru <aparamakuru@nvidia.com> | 2014-05-05 21:14:22 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:11:01 -0400 |
commit | 1fd722f592c2e0523c5e399a2406a4e387057188 (patch) | |
tree | 3425fb1a08ec2ccc6397e39c73a5579117e00a05 /drivers/gpu/nvgpu/gk20a/channel_gk20a.h | |
parent | 69e0cd3dfd8f39bc8d3529325001dcacd774f669 (diff) |
gpu: nvgpu: support gk20a virtualization
The nvgpu driver now supports using the Tegra graphics virtualization
interfaces to support gk20a in a virtualized environment.
Bug 1509608
Change-Id: I6ede15ee7bf0b0ad8a13e8eb5f557c3516ead676
Signed-off-by: Aingara Paramakuru <aparamakuru@nvidia.com>
Reviewed-on: http://git-master/r/440122
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h index 2ea3eccb..37ca8244 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h | |||
@@ -144,6 +144,10 @@ struct channel_gk20a { | |||
144 | void *error_notifier_va; | 144 | void *error_notifier_va; |
145 | 145 | ||
146 | struct gk20a_channel_sync *sync; | 146 | struct gk20a_channel_sync *sync; |
147 | |||
148 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
149 | u64 virt_ctx; | ||
150 | #endif | ||
147 | }; | 151 | }; |
148 | 152 | ||
149 | static inline bool gk20a_channel_as_bound(struct channel_gk20a *ch) | 153 | static inline bool gk20a_channel_as_bound(struct channel_gk20a *ch) |
@@ -193,4 +197,11 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, | |||
193 | int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, | 197 | int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, |
194 | struct nvhost_alloc_gpfifo_args *args); | 198 | struct nvhost_alloc_gpfifo_args *args); |
195 | 199 | ||
200 | void channel_gk20a_unbind(struct channel_gk20a *ch_gk20a); | ||
201 | void channel_gk20a_disable(struct channel_gk20a *ch); | ||
202 | int channel_gk20a_alloc_inst(struct gk20a *g, struct channel_gk20a *ch); | ||
203 | void channel_gk20a_free_inst(struct gk20a *g, struct channel_gk20a *ch); | ||
204 | int channel_gk20a_setup_ramfc(struct channel_gk20a *c, | ||
205 | u64 gpfifo_base, u32 gpfifo_entries); | ||
206 | |||
196 | #endif /*__CHANNEL_GK20A_H__*/ | 207 | #endif /*__CHANNEL_GK20A_H__*/ |