From 5a4926f2918b84fccefb8ddf6dbaa7b6449735bf Mon Sep 17 00:00:00 2001 From: Deepak Goyal Date: Wed, 19 Apr 2017 23:37:05 +0530 Subject: gpu: nvgpu: pmu: add check before enabling elpg. Do not enable/disable elpg if platform->can_elpg is false. Bug 1870556 Change-Id: I82d1fc4efdccc518827a6150fd3c17f6112e2f4a Signed-off-by: Deepak Goyal Reviewed-on: http://git-master/r/1465816 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c') 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: int gk20a_pmu_pg_global_enable(struct gk20a *g, u32 enable_pg) { u32 status = 0; + struct gk20a_platform *platform = dev_get_drvdata(g->dev); if (enable_pg == true) { 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) if (g->ops.pmu.pmu_lpwr_enable_pg) status = g->ops.pmu.pmu_lpwr_enable_pg(g, true); - } else if (g->support_pmu) + } else if (g->support_pmu && platform->can_elpg) status = gk20a_pmu_enable_elpg(g); } else if (enable_pg == false) { 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) if (g->ops.pmu.pmu_lpwr_disable_pg) status = g->ops.pmu.pmu_lpwr_disable_pg(g, true); - } else if (g->support_pmu) + } else if (g->support_pmu && platform->can_elpg) status = gk20a_pmu_disable_elpg(g); } -- cgit v1.2.2