summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/pmu_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/pmu_gm20b.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c b/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
index c25d2d56..28b40b1c 100644
--- a/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/pmu_gm20b.c
@@ -161,7 +161,7 @@ static void pmu_handle_acr_init_wpr_msg(struct gk20a *g, struct pmu_msg *msg,
161 gm20b_dbg_pmu("reply PMU_ACR_CMD_ID_INIT_WPR_REGION"); 161 gm20b_dbg_pmu("reply PMU_ACR_CMD_ID_INIT_WPR_REGION");
162 162
163 if (msg->msg.acr.acrmsg.errorcode == PMU_ACR_SUCCESS) 163 if (msg->msg.acr.acrmsg.errorcode == PMU_ACR_SUCCESS)
164 g->ops.pmu.lspmuwprinitdone = true; 164 g->ops.pmu.lspmuwprinitdone = 1;
165 gk20a_dbg_fn("done"); 165 gk20a_dbg_fn("done");
166} 166}
167 167
@@ -213,7 +213,7 @@ void gm20b_pmu_load_lsf(struct gk20a *g, u8 falcon_id)
213 gk20a_dbg_fn(""); 213 gk20a_dbg_fn("");
214 214
215 gm20b_dbg_pmu("wprinit status = %x\n", g->ops.pmu.lspmuwprinitdone); 215 gm20b_dbg_pmu("wprinit status = %x\n", g->ops.pmu.lspmuwprinitdone);
216 if (g->ops.pmu.lspmuwprinitdone && g->ops.pmu.fecsbootstrapdone) { 216 if (g->ops.pmu.lspmuwprinitdone) {
217 /* send message to load FECS falcon */ 217 /* send message to load FECS falcon */
218 memset(&cmd, 0, sizeof(struct pmu_cmd)); 218 memset(&cmd, 0, sizeof(struct pmu_cmd));
219 cmd.hdr.unit_id = PMU_UNIT_ACR; 219 cmd.hdr.unit_id = PMU_UNIT_ACR;
@@ -224,8 +224,8 @@ void gm20b_pmu_load_lsf(struct gk20a *g, u8 falcon_id)
224 cmd.cmd.acr.bootstrap_falcon.flags = 224 cmd.cmd.acr.bootstrap_falcon.flags =
225 PMU_ACR_CMD_BOOTSTRAP_FALCON_FLAGS_RESET_YES; 225 PMU_ACR_CMD_BOOTSTRAP_FALCON_FLAGS_RESET_YES;
226 cmd.cmd.acr.bootstrap_falcon.falconid = falcon_id; 226 cmd.cmd.acr.bootstrap_falcon.falconid = falcon_id;
227 gm20b_dbg_pmu("cmd post PMU_ACR_CMD_ID_BOOTSTRAP_FALCON"); 227 gm20b_dbg_pmu("cmd post PMU_ACR_CMD_ID_BOOTSTRAP_FALCON: %x\n",
228 g->ops.pmu.fecsrecoveryinprogress = 1; 228 falcon_id);
229 gk20a_pmu_cmd_post(g, &cmd, NULL, NULL, PMU_COMMAND_QUEUE_HPQ, 229 gk20a_pmu_cmd_post(g, &cmd, NULL, NULL, PMU_COMMAND_QUEUE_HPQ,
230 pmu_handle_fecs_boot_acr_msg, pmu, &seq, ~0); 230 pmu_handle_fecs_boot_acr_msg, pmu, &seq, ~0);
231 } 231 }
@@ -244,7 +244,6 @@ void gm20b_init_pmu_ops(struct gpu_ops *gops)
244 gops->pmu.init_wpr_region = NULL; 244 gops->pmu.init_wpr_region = NULL;
245 } 245 }
246 gops->pmu.pmu_setup_elpg = gm20b_pmu_setup_elpg; 246 gops->pmu.pmu_setup_elpg = gm20b_pmu_setup_elpg;
247 gops->pmu.lspmuwprinitdone = false; 247 gops->pmu.lspmuwprinitdone = 0;
248 gops->pmu.fecsbootstrapdone = false; 248 gops->pmu.fecsbootstrapdone = false;
249 gops->pmu.fecsrecoveryinprogress = 0;
250} 249}