mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: Fix gk20a shutdown issue
With CONFIG_PM_GENERIC_DOMAINS_OF enabled, device reboot was getting hung while shutting-down gk20a. It was happening because genpd_dev_pm_detach() was railgating gk20a while other thread was still accessing it. So, assigning NULL to dev->pm_domain->detach for gk20a, so that genpd_dev_pm_detach() is not called during gk20a shutdown, which will not railgate it. This patch will be reverted once we have clean shutdown for gk20a. Bug 200070810 Bug 200099940 Change-Id: Ie2e89ea01a98a9d4f2f68a3ab07b6923ffa374f6 Signed-off-by: Sumit Singh <sumsingh@nvidia.com> Reviewed-on: http://git-master/r/735455 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
This commit is contained in:
committed by
Ishan Mittal
parent
30e47f6984
commit
96ffe0c64d
@@ -1210,11 +1210,19 @@ static int gk20a_pm_initialise_domain(struct platform_device *pdev)
|
||||
struct gk20a_platform *platform = platform_get_drvdata(pdev);
|
||||
struct dev_power_governor *pm_domain_gov = NULL;
|
||||
struct generic_pm_domain *domain = dev_to_genpd(&pdev->dev);
|
||||
struct device *dev = &pdev->dev;
|
||||
|
||||
#ifdef CONFIG_PM_RUNTIME
|
||||
if (!platform->can_railgate)
|
||||
pm_domain_gov = &pm_domain_always_on_gov;
|
||||
#endif
|
||||
/*
|
||||
* FIXME: We can remove below assignment once we have clean shutdown
|
||||
* for gk20a.
|
||||
*/
|
||||
if (dev->pm_domain)
|
||||
dev->pm_domain->detach = NULL;
|
||||
|
||||
domain->gov = pm_domain_gov;
|
||||
|
||||
if (platform->railgate_delay)
|
||||
|
||||
Reference in New Issue
Block a user