From b4f4eca2bb8e4b8b80ef431071f57360f741be1b Mon Sep 17 00:00:00 2001 From: Arto Merilainen Date: Thu, 10 Apr 2014 11:40:52 +0300 Subject: gpu: nvgpu: Disable IRQs after channel suspend Interrupts may be needed before we have actually silenced all channels. Few possible scenarios include channel recovery during teardown and sw method before the channels have been suspended. This patch modifies the teardown path so that we disable interrupts after the channels have been suspended. Change-Id: Ifc36dbb74b1d36bd88d1220fa50a53c4072df4d8 Signed-off-by: Arto Merilainen Reviewed-on: http://git-master/r/394599 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/gk20a.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 73515796..3c69a9d0 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -753,6 +753,8 @@ static int gk20a_pm_prepare_poweroff(struct device *_dev) if (!g->power_on) return 0; + ret |= gk20a_channel_suspend(g); + /* * After this point, gk20a interrupts should not get * serviced. @@ -763,8 +765,6 @@ static int gk20a_pm_prepare_poweroff(struct device *_dev) g->irq_requested = false; } - ret |= gk20a_channel_suspend(g); - /* disable elpg before gr or fifo suspend */ ret |= gk20a_pmu_destroy(g); ret |= gk20a_gr_suspend(g); -- cgit v1.2.2