diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2016-06-22 08:21:20 -0400 |
---|---|---|
committer | Bharat Nihalani <bnihalani@nvidia.com> | 2016-06-23 04:44:59 -0400 |
commit | fa4b21f604e9ee69e94b0040c0aadcfbfbfb3d0f (patch) | |
tree | c84cda1bb98b504cfea408d383b8fb785a011241 /drivers | |
parent | a79135eacb371b7f38f18133dd0398d3753b438f (diff) |
Revert "gpu: nvgpu: reorder disable_irq"
This reverts commit 6bbc169d33ae601b5947c1e54806b9f9bfa6054e.
channel_suspend() might cause new interrupts to trigger,
and if irqs are already disabled, then these interrupts will
not get served
Hence revert this patch, and move disable_irq() to
original place
Bug 200207867
Change-Id: I45617a1a0aa9a1f805dd937a34ebb572a61c05c0
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1169380
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 03e16913..44ed4e51 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -705,13 +705,6 @@ static int gk20a_pm_prepare_poweroff(struct device *dev) | |||
705 | if (!g->power_on) | 705 | if (!g->power_on) |
706 | goto done; | 706 | goto done; |
707 | 707 | ||
708 | /* | ||
709 | * After this point, gk20a interrupts should not get | ||
710 | * serviced. | ||
711 | */ | ||
712 | disable_irq(g->irq_stall); | ||
713 | disable_irq(g->irq_nonstall); | ||
714 | |||
715 | gk20a_scale_suspend(dev); | 708 | gk20a_scale_suspend(dev); |
716 | 709 | ||
717 | /* cancel any pending cde work */ | 710 | /* cancel any pending cde work */ |
@@ -723,6 +716,12 @@ static int gk20a_pm_prepare_poweroff(struct device *dev) | |||
723 | 716 | ||
724 | /* disable elpg before gr or fifo suspend */ | 717 | /* disable elpg before gr or fifo suspend */ |
725 | ret |= gk20a_pmu_destroy(g); | 718 | ret |= gk20a_pmu_destroy(g); |
719 | /* | ||
720 | * After this point, gk20a interrupts should not get | ||
721 | * serviced. | ||
722 | */ | ||
723 | disable_irq(g->irq_stall); | ||
724 | disable_irq(g->irq_nonstall); | ||
726 | 725 | ||
727 | ret |= gk20a_gr_suspend(g); | 726 | ret |= gk20a_gr_suspend(g); |
728 | ret |= gk20a_mm_suspend(g); | 727 | ret |= gk20a_mm_suspend(g); |