video: tegra: host: gk20a: reorder init save zbc

During the ELPG initialization routine, ELPG should be explicitly
disabled before we save the zbc table. This ensures that even if there
is a preemption from some other thread that calls ELPG enable/disable,
the ref counting will ensure that ELPG remains disabled.

Bug 1490085

Change-Id: Ie8eeaf48dda4e7f810aa26926facf63753e86abe
Signed-off-by: Prashant Malani <pmalani@nvidia.com>
Reviewed-on: http://git-master/r/382273
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mitch Luban <mluban@nvidia.com>
This commit is contained in:
Prashant Malani
2014-03-14 19:52:55 -07:00
committed by Dan Willemsen
parent efad6452f6
commit bde3d332f9

View File

@@ -2011,10 +2011,6 @@ int gk20a_init_pmu_setup_hw2(struct gk20a *g)
gk20a_writel(g, 0x10a164, 0x109ff); gk20a_writel(g, 0x10a164, 0x109ff);
pmu->initialized = true; pmu->initialized = true;
pmu->zbc_ready = true;
/* Save zbc table after PMU is initialized. */
pmu_save_zbc(g, 0xf);
/* /*
* We can't guarantee that gr code to enable ELPG will be * We can't guarantee that gr code to enable ELPG will be
@@ -2023,6 +2019,10 @@ int gk20a_init_pmu_setup_hw2(struct gk20a *g)
*/ */
gk20a_pmu_disable_elpg(g); gk20a_pmu_disable_elpg(g);
pmu->zbc_ready = true;
/* Save zbc table after PMU is initialized. */
pmu_save_zbc(g, 0xf);
if (g->elpg_enabled) if (g->elpg_enabled)
gk20a_pmu_enable_elpg(g); gk20a_pmu_enable_elpg(g);