From 76993ba18c6969cd26bb500eee4ecf734deb7bcb Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Mon, 4 Aug 2014 16:58:56 +0530 Subject: 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 Reviewed-on: http://git-master/r/449227 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c') 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) gk20a_vm_put(ch_vm); unbind: + if (gk20a_is_channel_marked_as_tsg(ch)) + gk20a_tsg_unbind_channel(ch); + channel_gk20a_unbind(ch); channel_gk20a_free_inst(g, ch); -- cgit v1.2.2