diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2014-08-04 07:28:56 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:10:45 -0400 |
commit | 76993ba18c6969cd26bb500eee4ecf734deb7bcb (patch) | |
tree | 780194830cf7a2537cf06f4fd6bfcd33ade64247 /drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |
parent | b33020008b727d75827d670ca7a6c969769ca1a0 (diff) |
gpu: nvgpu: rework TSG's channel list
Modify TSG's channel list as "ch_list" for all channels
instead of "ch_runnable_list" for only runnable list
We can traverse this list and check runnable status of
channel in active_channels to get runnable channels
Remove below APIs as they are no longer required :
gk20a_bind_runnable_channel_to_tsg()
gk20a_unbind_channel_from_tsg()
While closing the channel, call gk20a_tsg_unbind_channel()
to unbind the channel from TSG
bug 1470692
Change-Id: I0178fa74b3e8bb4e5c0b3e3b2b2f031491761ba7
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/449227
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 9f8876c3..5bb62dd3 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -680,6 +680,9 @@ void gk20a_free_channel(struct channel_gk20a *ch, bool finish) | |||
680 | gk20a_vm_put(ch_vm); | 680 | gk20a_vm_put(ch_vm); |
681 | 681 | ||
682 | unbind: | 682 | unbind: |
683 | if (gk20a_is_channel_marked_as_tsg(ch)) | ||
684 | gk20a_tsg_unbind_channel(ch); | ||
685 | |||
683 | channel_gk20a_unbind(ch); | 686 | channel_gk20a_unbind(ch); |
684 | channel_gk20a_free_inst(g, ch); | 687 | channel_gk20a_free_inst(g, ch); |
685 | 688 | ||