mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
video: tegra: host: gk20a: reorder free_irq
Free IRQs before the various subunits are suspended. This is to prevent potential races between the IRQ thread and the suspend routine. Bug 1437749 Change-Id: Iffef918feecae0b256be96efd02b01b2677c225d Signed-off-by: Prashant Malani <pmalani@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
committed by
Dan Willemsen
parent
ef4ed26f8b
commit
9727cf87bc
@@ -755,14 +755,6 @@ static int gk20a_pm_prepare_poweroff(struct device *_dev)
|
|||||||
if (!g->power_on)
|
if (!g->power_on)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ret |= gk20a_channel_suspend(g);
|
|
||||||
|
|
||||||
/* disable elpg before gr or fifo suspend */
|
|
||||||
ret |= gk20a_pmu_destroy(g);
|
|
||||||
ret |= gk20a_gr_suspend(g);
|
|
||||||
ret |= gk20a_mm_suspend(g);
|
|
||||||
ret |= gk20a_fifo_suspend(g);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* After this point, gk20a interrupts should not get
|
* After this point, gk20a interrupts should not get
|
||||||
* serviced.
|
* serviced.
|
||||||
@@ -773,6 +765,14 @@ static int gk20a_pm_prepare_poweroff(struct device *_dev)
|
|||||||
g->irq_requested = false;
|
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);
|
||||||
|
ret |= gk20a_mm_suspend(g);
|
||||||
|
ret |= gk20a_fifo_suspend(g);
|
||||||
|
|
||||||
/* Disable GPCPLL */
|
/* Disable GPCPLL */
|
||||||
ret |= gk20a_suspend_clk_support(g);
|
ret |= gk20a_suspend_clk_support(g);
|
||||||
g->power_on = false;
|
g->power_on = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user