summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
diff options
context:
space:
mode:
authorLakshmanan M <lm@nvidia.com>2016-06-22 06:27:16 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-06-23 13:31:50 -0400
commit2c04ddcdf6adce0f7430cc42fd09475973d1c62c (patch)
tree813b9220833f3dadc2980895c3b7fb0385488ff2 /drivers/gpu/nvgpu/gk20a/channel_gk20a.h
parentfa4b21f604e9ee69e94b0040c0aadcfbfbfb3d0f (diff)
gpu: nvgpu: Add interface for privileged channel allocation
Added interface for privileged channel allocation to excute the privileged method (ex. CE phys mode transfer). JIRA DNVGPU-53 Change-Id: I07f9181720b14345cf5890919c2818dfcf505d86 Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: http://git-master/r/1169315 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.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
index f60bbda4..acd272b4 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
@@ -200,6 +200,8 @@ struct channel_gk20a {
200 u32 interleave_level; 200 u32 interleave_level;
201 201
202 u32 runlist_id; 202 u32 runlist_id;
203
204 bool is_privileged_channel;
203}; 205};
204 206
205static inline bool gk20a_channel_as_bound(struct channel_gk20a *ch) 207static inline bool gk20a_channel_as_bound(struct channel_gk20a *ch)
@@ -255,7 +257,9 @@ void _gk20a_channel_put(struct channel_gk20a *ch, const char *caller);
255int gk20a_wait_channel_idle(struct channel_gk20a *ch); 257int gk20a_wait_channel_idle(struct channel_gk20a *ch);
256 258
257/* runlist_id -1 is synonym for ENGINE_GR_GK20A runlist id */ 259/* runlist_id -1 is synonym for ENGINE_GR_GK20A runlist id */
258struct channel_gk20a *gk20a_open_new_channel(struct gk20a *g, s32 runlist_id); 260struct channel_gk20a *gk20a_open_new_channel(struct gk20a *g,
261 s32 runlist_id,
262 bool is_privileged_channel);
259struct channel_gk20a *gk20a_open_new_channel_with_cb(struct gk20a *g, 263struct channel_gk20a *gk20a_open_new_channel_with_cb(struct gk20a *g,
260 void (*update_fn)(struct channel_gk20a *, void *), 264 void (*update_fn)(struct channel_gk20a *, void *),
261 void *update_fn_data); 265 void *update_fn_data);
@@ -291,4 +295,6 @@ int gk20a_channel_set_timeslice(struct channel_gk20a *ch, u32 timeslice);
291void gk20a_channel_event_id_post_event(struct channel_gk20a *ch, 295void gk20a_channel_event_id_post_event(struct channel_gk20a *ch,
292 int event_id); 296 int event_id);
293 297
298void gk20a_channel_setup_ramfc_for_privileged_channel(struct channel_gk20a *c);
299
294#endif /* CHANNEL_GK20A_H */ 300#endif /* CHANNEL_GK20A_H */