diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c index f1f2cc70..d15386d7 100644 --- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | |||
@@ -1088,12 +1088,15 @@ static int dbg_set_powergate(struct dbg_session_gk20a *dbg_s, u32 powermode) | |||
1088 | /*do elpg disable before clock gating */ | 1088 | /*do elpg disable before clock gating */ |
1089 | if (support_gk20a_pmu(g->dev)) | 1089 | if (support_gk20a_pmu(g->dev)) |
1090 | gk20a_pmu_disable_elpg(g); | 1090 | gk20a_pmu_disable_elpg(g); |
1091 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, | 1091 | if (g->ops.clock_gating.slcg_gr_load_gating_prod) |
1092 | false); | 1092 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, |
1093 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, | 1093 | false); |
1094 | false); | 1094 | if (g->ops.clock_gating.slcg_perf_load_gating_prod) |
1095 | g->ops.clock_gating.slcg_ltc_load_gating_prod(g, | 1095 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, |
1096 | false); | 1096 | false); |
1097 | if (g->ops.clock_gating.slcg_ltc_load_gating_prod) | ||
1098 | g->ops.clock_gating.slcg_ltc_load_gating_prod(g, | ||
1099 | false); | ||
1097 | 1100 | ||
1098 | gr_gk20a_init_cg_mode(g, BLCG_MODE, BLCG_RUN); | 1101 | gr_gk20a_init_cg_mode(g, BLCG_MODE, BLCG_RUN); |
1099 | g->elcg_enabled = false; | 1102 | g->elcg_enabled = false; |
@@ -1120,12 +1123,15 @@ static int dbg_set_powergate(struct dbg_session_gk20a *dbg_s, u32 powermode) | |||
1120 | gr_gk20a_init_cg_mode(g, ELCG_MODE, ELCG_AUTO); | 1123 | gr_gk20a_init_cg_mode(g, ELCG_MODE, ELCG_AUTO); |
1121 | gr_gk20a_init_cg_mode(g, BLCG_MODE, BLCG_AUTO); | 1124 | gr_gk20a_init_cg_mode(g, BLCG_MODE, BLCG_AUTO); |
1122 | 1125 | ||
1123 | g->ops.clock_gating.slcg_ltc_load_gating_prod(g, | 1126 | if (g->ops.clock_gating.slcg_ltc_load_gating_prod) |
1124 | g->slcg_enabled); | 1127 | g->ops.clock_gating.slcg_ltc_load_gating_prod(g, |
1125 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, | 1128 | g->slcg_enabled); |
1126 | g->slcg_enabled); | 1129 | if (g->ops.clock_gating.slcg_perf_load_gating_prod) |
1127 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, | 1130 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, |
1128 | g->slcg_enabled); | 1131 | g->slcg_enabled); |
1132 | if (g->ops.clock_gating.slcg_gr_load_gating_prod) | ||
1133 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, | ||
1134 | g->slcg_enabled); | ||
1129 | 1135 | ||
1130 | if (support_gk20a_pmu(g->dev)) | 1136 | if (support_gk20a_pmu(g->dev)) |
1131 | gk20a_pmu_enable_elpg(g); | 1137 | gk20a_pmu_enable_elpg(g); |