summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index d411d011..c7d40fcd 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -1671,10 +1671,14 @@ int __gk20a_do_idle(struct platform_device *pdev)
1671 else 1671 else
1672 goto fail_timeout; 1672 goto fail_timeout;
1673 } else { 1673 } else {
1674 if (!platform->reset_assert || !platform->reset_deassert)
1675 goto fail_timeout;
1676
1674 pm_runtime_get_sync(&pdev->dev); 1677 pm_runtime_get_sync(&pdev->dev);
1675 gk20a_pm_prepare_poweroff(&pdev->dev); 1678 gk20a_pm_prepare_poweroff(&pdev->dev);
1676 1679
1677 tegra_periph_reset_assert(platform->clk[0]); 1680 platform->reset_assert(pdev);
1681
1678 udelay(10); 1682 udelay(10);
1679 1683
1680 g->forced_reset = true; 1684 g->forced_reset = true;
@@ -1717,7 +1721,7 @@ int __gk20a_do_unidle(struct platform_device *pdev)
1717 struct gk20a_platform *platform = dev_get_drvdata(&pdev->dev); 1721 struct gk20a_platform *platform = dev_get_drvdata(&pdev->dev);
1718 1722
1719 if (g->forced_reset) { 1723 if (g->forced_reset) {
1720 tegra_periph_reset_deassert(platform->clk[0]); 1724 platform->reset_deassert(pdev);
1721 1725
1722 gk20a_pm_finalize_poweron(&pdev->dev); 1726 gk20a_pm_finalize_poweron(&pdev->dev);
1723 pm_runtime_put_sync(&pdev->dev); 1727 pm_runtime_put_sync(&pdev->dev);