summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-06-22 08:21:20 -0400
committerBharat Nihalani <bnihalani@nvidia.com>2016-06-23 04:44:59 -0400
commitfa4b21f604e9ee69e94b0040c0aadcfbfbfb3d0f (patch)
treec84cda1bb98b504cfea408d383b8fb785a011241 /drivers/gpu/nvgpu/gk20a/gk20a.c
parenta79135eacb371b7f38f18133dd0398d3753b438f (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/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c13
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);