diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2017-04-11 02:40:30 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-11 12:57:16 -0400 |
commit | 6de456f8407ba7230410175f1aff90541137d19b (patch) | |
tree | 1ba58f9b7effe006516d471b35966ca0bf550c4d /drivers/gpu/nvgpu/vgpu/gm20b | |
parent | a100422df5a7ab799d979a383d9bfb963d82e45a (diff) |
gpu: nvgpu: wait for engine idle in shutdown
In gk20a_pm_shutdown(), we do not check return value
of gk20a_pm_prepare_poweroff
In some cases it is possible that gk20a_pm_prepare_poweroff()
returns -EBUSY (this could happen if engines are busy)
so we don't clean up s/w state and directly
trigger GPU railgate
In case some interrupt is triggered simultaneously
we try to access a register while GPU is already railgated
This leads to a hard hang in nvgpu shutdown path
Make below changes in shutdown sequence to fix this:
- check return value of gk20a_wait_for_idle()
- disable activity on all engines with
gk20a_fifo_disable_all_engine_activity()
- ensure engines are idle with gk20a_fifo_wait_engine_idle()
- check return value of gk20a_pm_prepare_poweroff()
- check return value of gk20a_pm_railgate()
Add a print when we bail out early in case
GPU is already railgated
Move to use new nvgpu_info/err() log messages
instead of dev_*() messages
Bug 200281010
Change-Id: I2856f9be6cd2de9b0d3ae12955cb1f0a2b6c29be
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1454658
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/gm20b')
0 files changed, 0 insertions, 0 deletions