summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-05-31 08:25:20 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-06-01 16:03:56 -0400
commit31fa6773ef124a4e779e0972e87d4fb681217f19 (patch)
tree6be7998a8f82c634b52c0fe94fa74034dee59389 /drivers/gpu/nvgpu/gk20a/channel_gk20a.c
parent9d13ddc17d21e9d4d65530e713a8ca7daf1dd1e2 (diff)
gpu: nvgpu: use correct APIs for disable and preempt
In gr_gk20a_ctx_zcull_setup(), gr_gk20a_update_smpc_ctxsw_mode(), and in gk20a_channel_suspend(), we call channel specific APIs to disable/preempt/enable channel But we do not consider TSGs in this case Hence use correct (below) APIs in above functions which will handle channel or TSG internally : gk20a_disable_channel_tsg() gk20a_fifo_preempt() gk20a_enable_channel_tsg() Bug 200205041 Change-Id: Ieed378dac4ad2322b35f9102706176ec326d386c Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1157189 GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index 64a14f8e..b1d9fa55 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -2772,9 +2772,9 @@ int gk20a_channel_suspend(struct gk20a *g)
2772 if (gk20a_channel_get(ch)) { 2772 if (gk20a_channel_get(ch)) {
2773 gk20a_dbg_info("suspend channel %d", chid); 2773 gk20a_dbg_info("suspend channel %d", chid);
2774 /* disable channel */ 2774 /* disable channel */
2775 g->ops.fifo.disable_channel(ch); 2775 gk20a_disable_channel_tsg(g, ch);
2776 /* preempt the channel */ 2776 /* preempt the channel */
2777 g->ops.fifo.preempt_channel(g, chid); 2777 gk20a_fifo_preempt(g, ch);
2778 gk20a_channel_cancel_job_clean_up(ch, true); 2778 gk20a_channel_cancel_job_clean_up(ch, true);
2779 /* wait for channel update notifiers */ 2779 /* wait for channel update notifiers */
2780 if (ch->update_fn) 2780 if (ch->update_fn)