diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-12-27 16:04:17 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-01-02 16:53:09 -0500 |
commit | 86691b59c6fae2b091855c0f4d44079cad8529b1 (patch) | |
tree | c9fd2914ed052771980298f5e77bd43d7c430ec9 /drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |
parent | 14fa8207e2f7feb36f8fa284b94859e05136eb0f (diff) |
gpu: nvgpu: Remove bare channel scheduling
Remove scheduling IOCTL implementations for bare channels. Also
removes code that constructs bare channels in runlist.
Bug 1842197
Change-Id: I6e833b38e24a2f2c45c7993edf939d365eaf41f0
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1627326
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index f4a49a4b..aeac490a 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -129,16 +129,6 @@ int channel_gk20a_commit_va(struct channel_gk20a *c) | |||
129 | return 0; | 129 | return 0; |
130 | } | 130 | } |
131 | 131 | ||
132 | u32 gk20a_channel_get_timeslice(struct channel_gk20a *ch) | ||
133 | { | ||
134 | struct gk20a *g = ch->g; | ||
135 | |||
136 | if (!ch->timeslice_us) | ||
137 | return g->ops.fifo.default_timeslice_us(g); | ||
138 | |||
139 | return ch->timeslice_us; | ||
140 | } | ||
141 | |||
142 | int gk20a_channel_get_timescale_from_timeslice(struct gk20a *g, | 132 | int gk20a_channel_get_timescale_from_timeslice(struct gk20a *g, |
143 | int timeslice_period, | 133 | int timeslice_period, |
144 | int *__timeslice_timeout, int *__timeslice_scale) | 134 | int *__timeslice_timeout, int *__timeslice_scale) |
@@ -312,34 +302,6 @@ void gk20a_disable_channel(struct channel_gk20a *ch) | |||
312 | channel_gk20a_update_runlist(ch, false); | 302 | channel_gk20a_update_runlist(ch, false); |
313 | } | 303 | } |
314 | 304 | ||
315 | int gk20a_channel_set_runlist_interleave(struct channel_gk20a *ch, | ||
316 | u32 level) | ||
317 | { | ||
318 | struct gk20a *g = ch->g; | ||
319 | int ret; | ||
320 | |||
321 | if (gk20a_is_channel_marked_as_tsg(ch)) { | ||
322 | nvgpu_err(g, "invalid operation for TSG!"); | ||
323 | return -EINVAL; | ||
324 | } | ||
325 | |||
326 | switch (level) { | ||
327 | case NVGPU_FIFO_RUNLIST_INTERLEAVE_LEVEL_LOW: | ||
328 | case NVGPU_FIFO_RUNLIST_INTERLEAVE_LEVEL_MEDIUM: | ||
329 | case NVGPU_FIFO_RUNLIST_INTERLEAVE_LEVEL_HIGH: | ||
330 | ret = g->ops.fifo.set_runlist_interleave(g, ch->chid, | ||
331 | false, 0, level); | ||
332 | break; | ||
333 | default: | ||
334 | ret = -EINVAL; | ||
335 | break; | ||
336 | } | ||
337 | |||
338 | gk20a_dbg(gpu_dbg_sched, "chid=%u interleave=%u", ch->chid, level); | ||
339 | |||
340 | return ret ? ret : g->ops.fifo.update_runlist(g, ch->runlist_id, ~0, true, true); | ||
341 | } | ||
342 | |||
343 | static void gk20a_wait_until_counter_is_N( | 305 | static void gk20a_wait_until_counter_is_N( |
344 | struct channel_gk20a *ch, nvgpu_atomic_t *counter, int wait_value, | 306 | struct channel_gk20a *ch, nvgpu_atomic_t *counter, int wait_value, |
345 | struct nvgpu_cond *c, const char *caller, const char *counter_name) | 307 | struct nvgpu_cond *c, const char *caller, const char *counter_name) |
@@ -742,8 +704,6 @@ struct channel_gk20a *gk20a_open_new_channel(struct gk20a *g, | |||
742 | ch->has_timedout = false; | 704 | ch->has_timedout = false; |
743 | ch->wdt_enabled = true; | 705 | ch->wdt_enabled = true; |
744 | ch->obj_class = 0; | 706 | ch->obj_class = 0; |
745 | ch->interleave_level = NVGPU_FIFO_RUNLIST_INTERLEAVE_LEVEL_LOW; | ||
746 | ch->timeslice_us = g->timeslice_low_priority_us; | ||
747 | #ifdef CONFIG_TEGRA_19x_GPU | 707 | #ifdef CONFIG_TEGRA_19x_GPU |
748 | memset(&ch->t19x, 0, sizeof(struct channel_t19x)); | 708 | memset(&ch->t19x, 0, sizeof(struct channel_t19x)); |
749 | #endif | 709 | #endif |