]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
video: tegra: host: gk20a: Fix PMU-less boot
authorArto Merilainen <amerilainen@nvidia.com>
Tue, 18 Feb 2014 09:34:08 +0000 (11:34 +0200)
committerArto Merilainen <amerilainen@nvidia.com>
Tue, 18 Feb 2014 16:26:56 +0000 (08:26 -0800)
A recent change added proper locking to enabling/disabling ELPG,
however, this patch also assumed that PMU is enabled always. This
patch modifies the code so that we do not crash if PMU is not
configured in.

Bug 1462292

Change-Id: Ia131badb4713a36b2df7def40a38914b65d38da0
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-on: http://git-master/r/368732
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Philip Rakity <prakity@nvidia.com>
Tested-by: Philip Rakity <prakity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Ken Adams <kadams@nvidia.com>
drivers/video/tegra/host/gk20a/gr_gk20a.h

index 23d370118bfb36683ea6d2190e251f183ce3a4ef..68c3a74a7812ef278066178de3db66b9c54c88cc 100644 (file)
@@ -352,11 +352,15 @@ bool gk20a_gr_sm_debugger_attached(struct gk20a *g);
 #define gr_gk20a_elpg_protected_call(g, func) \
        ({ \
                int err; \
-               mutex_lock(&g->pmu.pg_init_mutex); \
-               gk20a_pmu_disable_elpg(g); \
+               if (support_gk20a_pmu()) { \
+                       mutex_lock(&g->pmu.pg_init_mutex); \
+                       gk20a_pmu_disable_elpg(g); \
+               } \
                err = func; \
-               gk20a_pmu_enable_elpg(g); \
-               mutex_unlock(&g->pmu.pg_init_mutex); \
+               if (support_gk20a_pmu()) { \
+                       gk20a_pmu_enable_elpg(g); \
+                       mutex_unlock(&g->pmu.pg_init_mutex); \
+               } \
                err; \
        })