diff options
author | Thomas Fleury <tfleury@nvidia.com> | 2017-08-31 18:08:43 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-10-29 13:59:59 -0400 |
commit | 6b3b2b9c08a745288efcd1e608c0fa95da966c4e (patch) | |
tree | a451ffd884d934feacf689c8e3144b1c35251ff8 /drivers/gpu/nvgpu | |
parent | f073e6d4a385837a6f775bd496888fb9cef29307 (diff) |
gpu: nvgpu: allow suspend when engine is busy
We currently check that engine is idle before proceeding with
suspend. This prevents suspend when we could simply disable and
preempt all channels. Moreover, doing such a check in virtualization
case, would require to query engine status from RM server, before
proceeding with suspend.
Removed check on engine idle for system suspend.
JIRA EVLR-1852
Change-Id: Ic6dc65af14b00f236db20038dfc04fa0928c1fe2
Signed-off-by: Thomas Fleury <tfleury@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1552347
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/module.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 3 |
2 files changed, 0 insertions, 8 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c index b7d13f05..51336c51 100644 --- a/drivers/gpu/nvgpu/common/linux/module.c +++ b/drivers/gpu/nvgpu/common/linux/module.c | |||
@@ -276,11 +276,6 @@ static int gk20a_pm_prepare_poweroff(struct device *dev) | |||
276 | if (!g->power_on) | 276 | if (!g->power_on) |
277 | goto done; | 277 | goto done; |
278 | 278 | ||
279 | if (gk20a_fifo_is_engine_busy(g)) { | ||
280 | ret = -EBUSY; | ||
281 | goto done; | ||
282 | } | ||
283 | |||
284 | gk20a_scale_suspend(dev); | 279 | gk20a_scale_suspend(dev); |
285 | 280 | ||
286 | gk20a_cde_suspend(l); | 281 | gk20a_cde_suspend(l); |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 2b99b52c..47f6c56c 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -96,9 +96,6 @@ int gk20a_prepare_poweroff(struct gk20a *g) | |||
96 | 96 | ||
97 | gk20a_dbg_fn(""); | 97 | gk20a_dbg_fn(""); |
98 | 98 | ||
99 | if (gk20a_fifo_is_engine_busy(g)) | ||
100 | return -EBUSY; | ||
101 | |||
102 | ret = gk20a_channel_suspend(g); | 99 | ret = gk20a_channel_suspend(g); |
103 | if (ret) | 100 | if (ret) |
104 | return ret; | 101 | return ret; |