summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
diff options
context:
space:
mode:
authorAingara Paramakuru <aparamakuru@nvidia.com>2014-05-05 21:14:22 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:01 -0400
commit1fd722f592c2e0523c5e399a2406a4e387057188 (patch)
tree3425fb1a08ec2ccc6397e39c73a5579117e00a05 /drivers/gpu/nvgpu/gk20a/channel_gk20a.h
parent69e0cd3dfd8f39bc8d3529325001dcacd774f669 (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.h11
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
149static inline bool gk20a_channel_as_bound(struct channel_gk20a *ch) 153static inline bool gk20a_channel_as_bound(struct channel_gk20a *ch)
@@ -193,4 +197,11 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
193int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, 197int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c,
194 struct nvhost_alloc_gpfifo_args *args); 198 struct nvhost_alloc_gpfifo_args *args);
195 199
200void channel_gk20a_unbind(struct channel_gk20a *ch_gk20a);
201void channel_gk20a_disable(struct channel_gk20a *ch);
202int channel_gk20a_alloc_inst(struct gk20a *g, struct channel_gk20a *ch);
203void channel_gk20a_free_inst(struct gk20a *g, struct channel_gk20a *ch);
204int 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__*/