diff options
author | Lakshmanan M <lm@nvidia.com> | 2016-06-22 06:27:16 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-06-23 13:31:50 -0400 |
commit | 2c04ddcdf6adce0f7430cc42fd09475973d1c62c (patch) | |
tree | 813b9220833f3dadc2980895c3b7fb0385488ff2 /drivers/gpu/nvgpu/gk20a/channel_gk20a.h | |
parent | fa4b21f604e9ee69e94b0040c0aadcfbfbfb3d0f (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.h | 8 |
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 | ||
205 | static inline bool gk20a_channel_as_bound(struct channel_gk20a *ch) | 207 | static 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); | |||
255 | int gk20a_wait_channel_idle(struct channel_gk20a *ch); | 257 | int 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 */ |
258 | struct channel_gk20a *gk20a_open_new_channel(struct gk20a *g, s32 runlist_id); | 260 | struct channel_gk20a *gk20a_open_new_channel(struct gk20a *g, |
261 | s32 runlist_id, | ||
262 | bool is_privileged_channel); | ||
259 | struct channel_gk20a *gk20a_open_new_channel_with_cb(struct gk20a *g, | 263 | struct 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); | |||
291 | void gk20a_channel_event_id_post_event(struct channel_gk20a *ch, | 295 | void gk20a_channel_event_id_post_event(struct channel_gk20a *ch, |
292 | int event_id); | 296 | int event_id); |
293 | 297 | ||
298 | void gk20a_channel_setup_ramfc_for_privileged_channel(struct channel_gk20a *c); | ||
299 | |||
294 | #endif /* CHANNEL_GK20A_H */ | 300 | #endif /* CHANNEL_GK20A_H */ |