summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
index 26ce66f1..af22b13f 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c
@@ -4936,6 +4936,7 @@ clean_up:
4936int gk20a_pmu_pg_global_enable(struct gk20a *g, u32 enable_pg) 4936int gk20a_pmu_pg_global_enable(struct gk20a *g, u32 enable_pg)
4937{ 4937{
4938 u32 status = 0; 4938 u32 status = 0;
4939 struct gk20a_platform *platform = dev_get_drvdata(g->dev);
4939 4940
4940 if (enable_pg == true) { 4941 if (enable_pg == true) {
4941 if (g->ops.pmu.pmu_pg_engines_feature_list && 4942 if (g->ops.pmu.pmu_pg_engines_feature_list &&
@@ -4945,7 +4946,7 @@ int gk20a_pmu_pg_global_enable(struct gk20a *g, u32 enable_pg)
4945 if (g->ops.pmu.pmu_lpwr_enable_pg) 4946 if (g->ops.pmu.pmu_lpwr_enable_pg)
4946 status = g->ops.pmu.pmu_lpwr_enable_pg(g, 4947 status = g->ops.pmu.pmu_lpwr_enable_pg(g,
4947 true); 4948 true);
4948 } else if (g->support_pmu) 4949 } else if (g->support_pmu && platform->can_elpg)
4949 status = gk20a_pmu_enable_elpg(g); 4950 status = gk20a_pmu_enable_elpg(g);
4950 } else if (enable_pg == false) { 4951 } else if (enable_pg == false) {
4951 if (g->ops.pmu.pmu_pg_engines_feature_list && 4952 if (g->ops.pmu.pmu_pg_engines_feature_list &&
@@ -4955,7 +4956,7 @@ int gk20a_pmu_pg_global_enable(struct gk20a *g, u32 enable_pg)
4955 if (g->ops.pmu.pmu_lpwr_disable_pg) 4956 if (g->ops.pmu.pmu_lpwr_disable_pg)
4956 status = g->ops.pmu.pmu_lpwr_disable_pg(g, 4957 status = g->ops.pmu.pmu_lpwr_disable_pg(g,
4957 true); 4958 true);
4958 } else if (g->support_pmu) 4959 } else if (g->support_pmu && platform->can_elpg)
4959 status = gk20a_pmu_disable_elpg(g); 4960 status = gk20a_pmu_disable_elpg(g);
4960 } 4961 }
4961 4962