mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
5a2ed4df766c3f59752bde430906c076514847d6
To support concurrent UMD kickoff and railgate (due to VPR resize), It is necessary that nvgpu immediately prevents more work submission when it's known gpu needs to be idled. So nvgpu needs to unmap the usermode region earliest during suspend sequence. Otherwise, engines will not go idle before poweroff. Hence move the call to nvgpu_hide_usermode_poweroff to the beginning of gk20a_pm_prepare_poweorff. Also during suspend we ensure that the channels are preempted cleanly. IRQs should be kept enabled until after channels are suspended as the stalling IRQ can block the preemption. Hence moved the IRQ disable post channel_suspend call. gk20a_prepare_poweroff unconditionally sets power_on to false. Hence there is no need to reenable IRQs, resume scale in the failure path of gk20a_pm_prepare_poweroff as those will be done during call to gk20a_pm_finalize_poweron. Bug 3789519 Change-Id: I03064e7e636252a8f3d8fe9c8c05629ce2ba5fba Signed-off-by: Sagar Kamble <skamble@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2853584 Reviewed-by: Martin Radev <mradev@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Description
No description provided