summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2018-03-19 17:45:14 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-03-29 21:54:20 -0400
commitd436ad67b60eef68c7d5551b539490f8efb24387 (patch)
tree21283a39c70ca65f96cc2ecaf600e8880cba5083 /drivers/gpu/nvgpu/gk20a/gk20a.c
parentbcab5c148607867eea29e2a2ac82c6b967995525 (diff)
gpu: nvgpu: add gops.fifo.channel_suspend/channel_resume
RM Server acts differently for channel suspend/resume. Jira VQRM-3058 Change-Id: If41e3099164654db448d1157fd7f51dd00c5e201 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1679707 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 0206c915..64ae4401 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -91,9 +91,11 @@ int gk20a_prepare_poweroff(struct gk20a *g)
91 91
92 gk20a_dbg_fn(""); 92 gk20a_dbg_fn("");
93 93
94 ret = gk20a_channel_suspend(g); 94 if (g->ops.fifo.channel_suspend) {
95 if (ret) 95 ret = g->ops.fifo.channel_suspend(g);
96 return ret; 96 if (ret)
97 return ret;
98 }
97 99
98 /* disable elpg before gr or fifo suspend */ 100 /* disable elpg before gr or fifo suspend */
99 if (g->ops.pmu.is_pmu_supported(g)) 101 if (g->ops.pmu.is_pmu_supported(g))
@@ -330,7 +332,8 @@ int gk20a_finalize_poweron(struct gk20a *g)
330 } 332 }
331#endif 333#endif
332 334
333 gk20a_channel_resume(g); 335 if (g->ops.fifo.channel_resume)
336 g->ops.fifo.channel_resume(g);
334 337
335 nvgpu_init_mm_ce_context(g); 338 nvgpu_init_mm_ce_context(g);
336 339