Lines Matching refs:pmu
42 struct nvkm_pmu *pmu = container_of(falcon, typeof(*pmu), falcon); in gm20b_pmu_acr_bootstrap_falcon() local
52 ret = nvkm_falcon_cmdq_send(pmu->hpq, &cmd.cmd.hdr, in gm20b_pmu_acr_bootstrap_falcon()
54 &pmu->subdev, msecs_to_jiffies(1000)); in gm20b_pmu_acr_bootstrap_falcon()
129 struct nvkm_pmu *pmu = priv; in gm20b_pmu_acr_init_wpr_callback() local
130 struct nvkm_subdev *subdev = &pmu->subdev; in gm20b_pmu_acr_init_wpr_callback()
139 complete_all(&pmu->wpr_ready); in gm20b_pmu_acr_init_wpr_callback()
144 gm20b_pmu_acr_init_wpr(struct nvkm_pmu *pmu) in gm20b_pmu_acr_init_wpr() argument
154 return nvkm_falcon_cmdq_send(pmu->hpq, &cmd.cmd.hdr, in gm20b_pmu_acr_init_wpr()
155 gm20b_pmu_acr_init_wpr_callback, pmu, 0); in gm20b_pmu_acr_init_wpr()
159 gm20b_pmu_initmsg(struct nvkm_pmu *pmu) in gm20b_pmu_initmsg() argument
164 ret = nvkm_falcon_msgq_recv_initmsg(pmu->msgq, &msg, sizeof(msg)); in gm20b_pmu_initmsg()
172 nvkm_falcon_cmdq_init(pmu->hpq, msg.queue_info[0].index, in gm20b_pmu_initmsg()
175 nvkm_falcon_cmdq_init(pmu->lpq, msg.queue_info[1].index, in gm20b_pmu_initmsg()
178 nvkm_falcon_msgq_init(pmu->msgq, msg.queue_info[4].index, in gm20b_pmu_initmsg()
181 return gm20b_pmu_acr_init_wpr(pmu); in gm20b_pmu_initmsg()
185 gm20b_pmu_recv(struct nvkm_pmu *pmu) in gm20b_pmu_recv() argument
187 if (!pmu->initmsg_received) { in gm20b_pmu_recv()
188 int ret = pmu->func->initmsg(pmu); in gm20b_pmu_recv()
190 nvkm_error(&pmu->subdev, "error parsing init message: %d\n", ret); in gm20b_pmu_recv()
194 pmu->initmsg_received = true; in gm20b_pmu_recv()
197 nvkm_falcon_msgq_recv(pmu->msgq); in gm20b_pmu_recv()
201 gm20b_pmu_fini(struct nvkm_pmu *pmu) in gm20b_pmu_fini() argument
205 flush_work(&pmu->recv.work); in gm20b_pmu_fini()
206 nvkm_falcon_cmdq_fini(pmu->lpq); in gm20b_pmu_fini()
207 nvkm_falcon_cmdq_fini(pmu->hpq); in gm20b_pmu_fini()
209 reinit_completion(&pmu->wpr_ready); in gm20b_pmu_fini()
211 nvkm_falcon_put(&pmu->falcon, &pmu->subdev); in gm20b_pmu_fini()
215 gm20b_pmu_init(struct nvkm_pmu *pmu) in gm20b_pmu_init() argument
217 struct nvkm_falcon *falcon = &pmu->falcon; in gm20b_pmu_init()
222 ret = nvkm_falcon_get(&pmu->falcon, &pmu->subdev); in gm20b_pmu_init()
226 pmu->initmsg_received = false; in gm20b_pmu_init()
251 gm20b_pmu_load(struct nvkm_pmu *pmu, int ver, const struct nvkm_pmu_fwif *fwif) in gm20b_pmu_load() argument
253 return nvkm_acr_lsfw_load_sig_image_desc(&pmu->subdev, &pmu->falcon, in gm20b_pmu_load()